Thoughts and tutorials on programming

Wednesday, November 01, 2006

error message

SystemError: error return without exception set

I got this when I tried to grab a mesh that did not exist, or that was associated with an empty, or something! Also it might be caused by having a python script linked to two actuators (under two distinct objects) but such that they have the same name--then it becomes confused.

Also when I compiled blender on linux, it said /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lalut

it turns out that since my alut and openal were stored in 'non conventional' locations, gcc didn't want to accept LD_LIBRARY_PATH environment variable, which DID have them, so I then had to add, by hand, to the linking line (i.e. run scons BF_DEBUG=0 BF_QUIEt=0 to figure out the command line used to link blender, then add to it)

and then it works.

I have no idea why.
This makes me want to suggest that scons have a global 'include from here' and 'link from here' settings, at least for linux.

It may have something to do with the environment that scons yields to the builds that it creates--it seems to create an 'internal' 'new' environment and pass that along to the child scons processes (like subdirectories).


Roger Pack said...

unless you are in certain versions of linux, for some reason.

Roger Pack said...

that error message is also called if you change the OBJECT name versus the object's mesh's name--the correct mesh name may be found by clickong on the 'four connected dots' button. Gl!

Roger Pack said...

also may need to do the following, if it then generates the message

SND_OpenALDevice.cpp:(.text+0x10f1): undefined reference to `alutLoadWAVMemory'
SND_OpenALDevice.cpp:(.text+0x118c): undefined reference to `alutUnloadWAV'
SND_OpenALDevice.cpp:(.text+0x11bf): undefined reference to `alutLoadWAVFile'

add "alut" to your blender/config/ [linux2.config in this case]

BF_OPENAL_LIB = 'openal alut'

Roger Pack said...

It may have something to do with scons' checking for FreeAlut... failed

message, though freealut does exist in a user defined directory (LD_LIBRARY_PATH one)...