[Bf-committers] bpy.dll

Paolo Basso pa.basso at gmail.com
Thu Mar 24 16:20:50 CET 2011


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 <ideasman42 at gmail.com>

> 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 <pa.basso at gmail.com> 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 <ideasman42 at gmail.com>
> >
> >> 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 <pa.basso at gmail.com>
> 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 <mogurijin at gmail.com>
> >> >
> >> >> 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
> >> >> Bf-committers at blender.org
> >> >> http://lists.blender.org/mailman/listinfo/bf-committers
> >> >>
> >> > _______________________________________________
> >> > Bf-committers mailing list
> >> > Bf-committers at blender.org
> >> > http://lists.blender.org/mailman/listinfo/bf-committers
> >> >
> >>
> >>
> >>
> >> --
> >> - Campbell
> >> _______________________________________________
> >> Bf-committers mailing list
> >> Bf-committers at blender.org
> >> http://lists.blender.org/mailman/listinfo/bf-committers
> >>
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> >
>
>
>
> --
> - Campbell
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list