I just built Panda 1.7.0 from source, and at first run, when importing direct.directbase.DirectStart, I get a huge error message of the form:
Attempt to register type XXX more than once!
Then I get a segfault.
It seems from another post that the classes would get registered twice, but I have no idea how that would happen…
Edit: Problem is solved, I had two panda’s in my path.
In fact the problem was that after changing my .bashrc I needed to relogin(using source or restarting bash didn’t seem to help)
Something like this has been reported by others as well. We don’t know what causes it yet. What operating system are you building on? What steps did you follow to compile it and install it? Do you already have another version of Panda installed in another directory?
I’m on fedora 9, to build panda I used makepanda:
python makepanda/makepanda.py --everything
I got no errors except the fact that some plugins were missing (like ode, openal, and others)
I do have an older version of panda installed but it’s nowhere in my path(I just re-checked) I don’t think this would have any effect.
But then, the reason why I changed was that when I loaded panda1.5.2(my older version), I got this error message:
ImportError: /u/xvm/lib/panda3d-1.5.2/built/lib/libpandaexpress.so: undefined symbol: panda_version_1_5_2
Which is strange because its as if panda suddenly stopped working (it worked before, and there was no import error).
Hmm, damn… I do have problems with my path… I’m currently trying to understand what script adds the old version path to mine, and it’s not my local bashrc…
On the other side, why would panda import itself twice? Doesn’t python import a module only once from the first occurence of it it finds in the sys.path?