....needed .dlls: - gnu_gettext - OpenAL32 - pthreadVC2 - SDL - wrap_oal
apparently not needed to (I just tried to import bpy, nothing else): - iconv - libpng - zlib 2011/3/25 Paolo Basso <[email protected]> > Finally I fixed the problem: > > 1) Built with CMake and Visual C++ Express 2008 (MINGW seems not to work > appropriately for Windows 7 and generates a bpy.pyd file which is not valid, > see previous mail) > > 2) Copied bpy.pyd AND all the other generated dll (except for python32.dll) > in the same folder (bin) to C.:\Python32\DLLs (or alternatively in > C:\Python32\Lib\site-packages) > > Just copying bpy.pyd is not enough in my case but I neither tried to copy > just some of the dlls... any suggestions concerning this point is > appreciated. > > Cheers, > > P > > > > > > > 2011/3/25 Paolo Basso <[email protected]> > >> In which version of Windows did you compile? >> >> May the problem be this one? >> http://www.mingw.org/wiki/linking_hangs_under_windows_7 >> By the way, I got a 33 mb .pyd file. >> >> Cheers >> 2011/3/25 Campbell Barton <[email protected]> >> >>> >From the error message, python fails to load the DLL, it doesn't even >>> get to look for a function inside it. >>> >>> Some misc suggestions if you want to look into this further. >>> >>> - My DLL was about 120mb (RelWithDebugInfo). When setting up cmake >>> linking with add_library(...SHARED) function I managed to get a DLL >>> that was ~600kb. >>> If your bpy.pyd is under 6mb something is wrong linking it and its >>> - try build with CMAKE_BUILD_TYPE set to RelWithDebugInfo >>> - Find some tool to inspect the dll to get a hint as to why it fails, >>> whats wrong with it. >>> - could be a python ABI version conflict, I used the 32bit Python3.2 >>> MSI, built with blenders default python that comes in lib. >>> >>> Would be interesting to know if other systems have the same trouble. >>> >>> On Fri, Mar 25, 2011 at 12:16 AM, Paolo Basso <[email protected]> >>> wrote: >>> > no I was running Python 3.2, I just mentioned that I also hav Python >>> 2.6 >>> > installed just in case it could be of some help in understanding my >>> > problem. >>> > >>> > I tried to build also the blender.exe from source but, again in this >>> case, >>> > everything seems to work fine except that at the end I get an error >>> message >>> > when I try to launch blender. >>> > >>> > I guess the problem could be something related to my minGW, can be? >>> > >>> > >>> > >>> > 2011/3/25 Daniel Tavares <[email protected]> >>> > >>> >> Which of the Python runtimes were you running when you got the >>> ImportError? >>> >> It seems to me that you're trying to import bpy from Python 2.6. That >>> will >>> >> not work. >>> >> >>> >> Make sure to import bpy from your Python 3.2 runtime. As Campbell >>> said: >>> >> >>> >> Execute... >>> >> C:\Python32\python.exe >>> >> >>> >> >>> import bpy >>> >> >>> print(bpy.data) >>> >> >>> >> >>> >> Cheers, >>> >> >>> >> Daniel >>> >> >>> >> >>> >> On Thu, Mar 24, 2011 at 8:20 AM, Paolo Basso <[email protected]> >>> wrote: >>> >> >>> >> > My environment: >>> >> > >>> >> > Windows7 32 bit >>> >> > python 2.6 and python 3.2 installed (C.\Pythonx.x\...) >>> >> > >>> >> > by the way, when I write the command "python" at the command prompt, >>> >> > then python26 starts (not python32) >>> >> > >>> >> > >>> >> > What I did: >>> >> > >>> >> > download latest build and windows dependencies with SVN and placed >>> in >>> >> > C.\BlenderSVN >>> >> > (then I have two folders in C.\BlenderSVN: "blender" and "lib") >>> >> > >>> >> > I run Cmake 2.8.2 gui and set: >>> >> > >>> >> > - source code location: "C:/BlenderSVN/blender" >>> >> > - where to build the binaries: "C:/BlenderSVN/build" >>> >> > >>> >> > then >>> >> > 1) click configure once >>> >> > 2) specify the generator for the project as "MinGW Makefiles" (Use >>> >> default >>> >> > native compilers) >>> >> > >>> >> > I get the following configure info: >>> >> > >>> >> > The C compiler identification is GNU >>> >> > >>> >> > The CXX compiler identification is GNU >>> >> > >>> >> > Check for working C compiler: C:/Program >>> Files/pythonxy/mingw/bin/gcc.exe >>> >> > >>> >> > Check for working C compiler: C:/Program >>> Files/pythonxy/mingw/bin/gcc.exe >>> >> > -- >>> >> > works >>> >> > >>> >> > Detecting C compiler ABI info >>> >> > >>> >> > Detecting C compiler ABI info - done >>> >> > >>> >> > Check for working CXX compiler: C:/Program >>> >> Files/pythonxy/mingw/bin/g++.exe >>> >> > >>> >> > Check for working CXX compiler: C:/Program >>> >> Files/pythonxy/mingw/bin/g++.exe >>> >> > -- works >>> >> > >>> >> > Detecting CXX compiler ABI info >>> >> > >>> >> > Detecting CXX compiler ABI info - done >>> >> > >>> >> > Performing Test SUPPORT_SSE_BUILD >>> >> > >>> >> > Performing Test SUPPORT_SSE_BUILD - Success >>> >> > >>> >> > SSE Support: detected. >>> >> > >>> >> > Performing Test SUPPORT_SSE2_BUILD >>> >> > >>> >> > Performing Test SUPPORT_SSE2_BUILD - Success >>> >> > >>> >> > SSE2 Support: detected. >>> >> > >>> >> > Performing Test C_WARN_ALL >>> >> > >>> >> > Performing Test C_WARN_ALL - Success >>> >> > >>> >> > Performing Test C_WARN_CAST_ALIGN >>> >> > >>> >> > Performing Test C_WARN_CAST_ALIGN - Success >>> >> > >>> >> > Performing Test C_WARN_ERROR_DECLARATION_AFTER_STATEMENT >>> >> > >>> >> > Performing Test C_WARN_ERROR_DECLARATION_AFTER_STATEMENT - Success >>> >> > >>> >> > Performing Test C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION >>> >> > >>> >> > Performing Test C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION - Success >>> >> > >>> >> > Performing Test C_WARN_ERROR_RETURN_TYPE >>> >> > >>> >> > Performing Test C_WARN_ERROR_RETURN_TYPE - Success >>> >> > >>> >> > Performing Test C_WARN_ERROR_STRICT_PROTOTYPES >>> >> > >>> >> > Performing Test C_WARN_ERROR_STRICT_PROTOTYPES - Success >>> >> > >>> >> > Performing Test C_WARN_NO_CHAR_SUBSCRIPTS >>> >> > >>> >> > Performing Test C_WARN_NO_CHAR_SUBSCRIPTS - Success >>> >> > >>> >> > Performing Test C_WARN_NO_UNKNOWN_PRAGMAS >>> >> > >>> >> > Performing Test C_WARN_NO_UNKNOWN_PRAGMAS - Success >>> >> > >>> >> > Performing Test C_WARN_POINTER_ARITH >>> >> > >>> >> > Performing Test C_WARN_POINTER_ARITH - Success >>> >> > >>> >> > Performing Test C_WARN_UNUSED_PARAMETER >>> >> > >>> >> > Performing Test C_WARN_UNUSED_PARAMETER - Success >>> >> > >>> >> > Performing Test C_WARN_WRITE_STRINGS >>> >> > >>> >> > Performing Test C_WARN_WRITE_STRINGS - Success >>> >> > >>> >> > Performing Test CXX_WARN_ALL >>> >> > >>> >> > Performing Test CXX_WARN_ALL - Success >>> >> > >>> >> > Performing Test CXX_WARN_NO_INVALID_OFFSETOF >>> >> > >>> >> > Performing Test CXX_WARN_NO_INVALID_OFFSETOF - Success >>> >> > >>> >> > Performing Test CXX_WARN_NO_SIGN_COMPARE >>> >> > >>> >> > Performing Test CXX_WARN_NO_SIGN_COMPARE - Success >>> >> > >>> >> > Blender Skipping: (bf_collada;bf_imbuf_openexr;extern_redcode) >>> >> > >>> >> > Could NOT find Subversion (missing: Subversion_SVN_EXECUTABLE) >>> >> > >>> >> > Configuring done >>> >> > >>> >> > 3) tick the box WITH_PYTHON_MODULE and unselect the box >>> >> WITH_PYTHON_INSTALL >>> >> > (WITH_PLAYER is already unselected) >>> >> > >>> >> > 4) click for the second time configure >>> >> > >>> >> > This time I get these messages: >>> >> > >>> >> > Blender Skipping: (bf_collada;bf_imbuf_openexr;extern_redcode) >>> >> > >>> >> > Could NOT find Subversion (missing: Subversion_SVN_EXECUTABLE) >>> >> > >>> >> > Configuring done >>> >> > >>> >> > >>> >> > >>> >> > 5) click generate >>> >> > >>> >> > >>> >> > >>> >> > At this point I close Cmake gui, open the windows shell and run the >>> >> > following commands: >>> >> > >>> >> > >>> >> > >>> >> > cd C:\BlenderSVN\build >>> >> > >>> >> > mingw32-make >>> >> > >>> >> > >>> >> > >>> >> > (the compilation ends like: >>> >> > >>> >> > >>> >> > >>> >> > [100%] Building C object >>> >> > source/creator/CMakeFiles/blender.dir/buildinfo.c.obj >>> >> > Linking CXX shared library ..\..\bin\bpy.pyd >>> >> > Creating library file: ..\..\lib\libbpy.dll.a >>> >> > Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' >>> >> > unrecognized >>> >> > Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' >>> >> > unrecognized >>> >> > Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' >>> >> > unrecognized >>> >> > Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' >>> >> > unrecognized >>> >> > [100%] Built target blender >>> >> > >>> >> > >>> >> > >>> >> > ) >>> >> > >>> >> > >>> >> > mingw32-make *install* >>> >> > >>> >> > ** >>> >> > >>> >> > After the installation, still in the shell I write the following >>> >> commands: >>> >> > >>> >> > >>> >> > >>> >> > copy bin\bpy.pyd C:\Python32\Lib\site-packages\ >>> >> > xcopy /E bin\2.56 C:\Python32\ >>> >> > >>> >> > >>> >> > >>> >> > (last command actually copies only the sub-folders of the 2.56 >>> folder so >>> >> > that I have three different folders - config, datafiles, scripts - >>> in >>> >> > C:\Python32 -----> however I tried also copying the whole 2.56 >>> >> folder..) >>> >> > >>> >> > >>> >> > ....and still get the same error message: >>> >> > >>> >> > ImportError: DLL load failed: %1 non รจ un'applicazione di Win32 >>> valida. >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > 2011/3/24 Campbell Barton <[email protected]> >>> >> > >>> >> > > tested again and it works ok for me with mingw/cmake. >>> >> > > >>> >> > > You should have... >>> >> > > * C:\Python32\2.56\scripts >>> >> > > * C:\Python32\Lib\site-packages\bpy.pyd >>> >> > > >>> >> > > Execute... >>> >> > > C:\Python32\python.exe >>> >> > > >>> >> > > ... try import bpy, >>> >> > > print(bpy.data) >>> >> > > >>> >> > > Important its version 3.2 and that ./2.56/ is in the subdirectory >>> of >>> >> > > python.exe. >>> >> > > >>> >> > > On Thu, Mar 24, 2011 at 9:27 AM, Paolo Basso <[email protected]> >>> >> wrote: >>> >> > > > Something wrong still happens... >>> >> > > > >>> >> > > > I compile the source using cmake and MinGW and everything seems >>> to >>> >> work >>> >> > > in >>> >> > > > the right way. I get the bpy.pyd file and successfully copy it >>> >> together >>> >> > > with >>> >> > > > the other folders in the python32 directory (as explained in the >>> wiki >>> >> > > page). >>> >> > > > However when I run the python 32 interpreter and try to import >>> the >>> >> bpy >>> >> > > > module I get the same error message as before (ImportError: DLL >>> load >>> >> > > failed: >>> >> > > > %1 is not a Win32 valid application). >>> >> > > > >>> >> > > > I tried to compile the source also with visual studio 10 but, >>> among >>> >> the >>> >> > > > others, I got the following error message: >>> >> > > > >>> >> > > > C:\temp_blender\bin\Debug\bpy.pyd : fatal error LNK1169: one or >>> more >>> >> > > symbols >>> >> > > > defined more then once >>> >> > > > >>> >> > > > >>> >> > > > Am I doing something wrong?? >>> >> > > > >>> >> > > > Cheers, >>> >> > > > >>> >> > > > P >>> >> > > > >>> >> > > > >>> >> > > > 2011/3/24 Campbell Barton <[email protected]> >>> >> > > > >>> >> > > >> Added support for windows r35735 >>> >> > > >> >>> >> > > >> Updated wiki. >>> >> > > >> >>> http://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule >>> >> > > >> >>> >> > > >> On windows the function needed exporting, defining >>> Py_ENABLE_SHARED >>> >> > does >>> >> > > >> this. >>> >> > > >> >>> >> > > >> On Wed, Mar 23, 2011 at 6:45 PM, Paolo Basso < >>> [email protected]> >>> >> > > wrote: >>> >> > > >> > I tried also this way but I get the following error message >>> >> > > (translated >>> >> > > >> from >>> >> > > >> > italian): >>> >> > > >> > >>> >> > > >> > ImportError: DLL load failed: %1 is not a Win32 valid >>> application. >>> >> > > >> > >>> >> > > >> > It is possible that the dll has to be compiled with the same >>> >> > compiler >>> >> > > as >>> >> > > >> > python (visual studio)? >>> >> > > >> > I compiled using mgwin. >>> >> > > >> > >>> >> > > >> > http://docs.python.org/py3k/extending/windows.html >>> >> > > >> > 4.3. Using DLLs in Practice >>> >> > > >> > >>> >> > > >> > Thanks, >>> >> > > >> > >>> >> > > >> > P >>> >> > > >> > >>> >> > > >> > 2011/3/23 Mitchell Stokes <[email protected]> >>> >> > > >> > >>> >> > > >> >> On Windows, C Extension modules for Python have the >>> extension >>> >> .pyd >>> >> > > >> >> instead. So, try renaming the module from bpy.dll to >>> bpy.pyd. >>> >> > > >> >> >>> >> > > >> >> Cheers, >>> >> > > >> >> Mitchell >>> >> > > >> >> _______________________________________________ >>> >> > > >> >> Bf-committers mailing list >>> >> > > >> >> [email protected] >>> >> > > >> >> http://lists.blender.org/mailman/listinfo/bf-committers >>> >> > > >> >> >>> >> > > >> > _______________________________________________ >>> >> > > >> > Bf-committers mailing list >>> >> > > >> > [email protected] >>> >> > > >> > http://lists.blender.org/mailman/listinfo/bf-committers >>> >> > > >> > >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> -- >>> >> > > >> - Campbell >>> >> > > >> _______________________________________________ >>> >> > > >> Bf-committers mailing list >>> >> > > >> [email protected] >>> >> > > >> http://lists.blender.org/mailman/listinfo/bf-committers >>> >> > > >> >>> >> > > > _______________________________________________ >>> >> > > > Bf-committers mailing list >>> >> > > > [email protected] >>> >> > > > http://lists.blender.org/mailman/listinfo/bf-committers >>> >> > > > >>> >> > > >>> >> > > >>> >> > > >>> >> > > -- >>> >> > > - Campbell >>> >> > > _______________________________________________ >>> >> > > Bf-committers mailing list >>> >> > > [email protected] >>> >> > > http://lists.blender.org/mailman/listinfo/bf-committers >>> >> > > >>> >> > _______________________________________________ >>> >> > Bf-committers mailing list >>> >> > [email protected] >>> >> > http://lists.blender.org/mailman/listinfo/bf-committers >>> >> > >>> >> _______________________________________________ >>> >> Bf-committers mailing list >>> >> [email protected] >>> >> http://lists.blender.org/mailman/listinfo/bf-committers >>> >> >>> > _______________________________________________ >>> > Bf-committers mailing list >>> > [email protected] >>> > http://lists.blender.org/mailman/listinfo/bf-committers >>> > >>> >>> >>> >>> -- >>> - Campbell >>> _______________________________________________ >>> Bf-committers mailing list >>> [email protected] >>> http://lists.blender.org/mailman/listinfo/bf-committers >>> >> >> > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
