Python Modules (was: Re: [Bf-committers] Meeting report, sun april 13)

Douglas Bischoff bf-committers@blender.org
Mon, 21 Apr 2003 12:45:23 -0400


On Saturday, Apr 19, 2003, at 09:53 US/Eastern, Michel Selten wrote:

>> Just a note on this. There were unresolved issues with OS X Python,  
>> and
>> I am hopeful that this new work will address them as well and not  
>> cause
>> NEW issues.
>
> Erm, any new development will unfortunately cause new issues. That's  
> why
> these developments are done in parallel with the current  
> implementation.

Right: what I meant was I hope that the new development won't be  
completely useless on OS X for the same reasons that PART of the  
current development is. See below...

>> If any help is needed in testing OS X compliance I am more than happy
>> to do so. My fear is that the same "broken" parts of the OS X linker
>> will hamstring Python even further if it goes MORE in the direction
>> that is currently not working, instead of away.
>
> Well, since I don't have OS X here, any help on testing the new api is
> very welcome. Feel free to build blender using --enable-exppython and
> test some of the existing modules. If there are issues, I would like to
> know of course ;)

Tried the build. Everything compiled fine, but I got the following  
errors during linking:

ranlib .libs/libblender_source.al
ranlib: same symbol defined in more than one member in:  
.libs/libblender_source.al (table of contents will not be sorted)
ranlib: file:  
.libs/libblender_source.al(libblender_api2_2x_la-Image.lo) defines  
symbol: _g_blenderdict
ranlib: file: .libs/libblender_source.al(libblender_api2_2x_la-Lamp.lo)  
defines symbol: _g_blenderdict
ranlib: file:  
.libs/libblender_source.al(libblender_api2_2x_la-interface.lo) defines  
symbol: _g_blenderdict
ranlib: file:  
.libs/libblender_source.al(libblender_api2_2x_la-Camera.lo) defines  
symbol: _g_blenderdict
ranlib: file:  
.libs/libblender_source.al(libblender_api2_2x_la-Blender.lo) defines  
symbol: _g_blenderdict
rm -fr .libs/libblender_source.lax
creating libblender_source.la
(cd .libs && rm -f libblender_source.la && ln -s  
../libblender_source.la libblender_source.la)
/bin/sh ./libtool --mode=link gcc  -g -O2 -funsigned-char  -L/sw/lib  
-L/sw/lib -o blender  
-L/Library/Frameworks/Python.framework/Versions/2.2/lib/python2.2/ 
config -framework OpenGL -framework AGL -framework Carbon   
source/libblender_source.la intern/bsp/libblender_BSP.la  
intern/decimation/libblender_LOD.la intern/ghost/libblender_GHOST.la  
intern/string/libblender_STR.la  
intern/guardedalloc/libblender_guardedalloc.la  
intern/bmfont/libblender_BMF.la intern/container/libblender_CTR.la  
intern/memutil/libblender_MEM.la intern/keymaker/libblender_belgium.la  
intern/iksolver/libblender_IK.la intern/moto/libblender_MT.la   
-lpython2.2 -ljpeg -lpng -lcrypto -lssl -lpthread -ldl -lstdc++ -lz
mkdir .libs
gcc -g -O2 -funsigned-char -o blender -framework OpenGL -framework AGL  
-framework Carbon  -L/sw/lib  
-L/Library/Frameworks/Python.framework/Versions/2.2/lib/python2.2/ 
config source/.libs/libblender_source.al  
intern/bsp/.libs/libblender_BSP.al  
intern/decimation/.libs/libblender_LOD.al  
intern/ghost/.libs/libblender_GHOST.al  
intern/string/.libs/libblender_STR.al  
intern/guardedalloc/.libs/libblender_guardedalloc.al  
intern/bmfont/.libs/libblender_BMF.al  
intern/container/.libs/libblender_CTR.al  
intern/memutil/.libs/libblender_MEM.al  
intern/keymaker/.libs/libblender_belgium.al  
intern/iksolver/.libs/libblender_IK.al  
intern/moto/.libs/libblender_MT.al -lpython2.2 -ljpeg -lpng -lcrypto  
-lssl -lpthread -ldl -lstdc++ -lz
ld: multiple definitions of symbol _g_blenderdict
source/.libs/libblender_source.al(libblender_api2_2x_la-interface.lo)  
definition of _g_blenderdict in section (__DATA,__common)
source/.libs/libblender_source.al(libblender_api2_2x_la-Blender.lo)  
definition of _g_blenderdict in section (__DATA,__common)
source/.libs/libblender_source.al(libblender_api2_2x_la-Camera.lo)  
definition of _g_blenderdict in section (__DATA,__common)
source/.libs/libblender_source.al(libblender_api2_2x_la-Image.lo)  
definition of _g_blenderdict in section (__DATA,__common)
source/.libs/libblender_source.al(libblender_api2_2x_la-Lamp.lo)  
definition of _g_blenderdict in section (__DATA,__common)
make[2]: *** [blender] Error 1
----
Thus it appears that, as I feared, the new modules won't link any  
better than the current ones did. :-( Am I missing something perhaps,  
or is this the problem with OS X linking again?

Thanks for any insight,

-Bischofftep