Building on Snow Leopard, 64-bits, with current CVS source. Almost everything compiled fine (don’t have 64-bit builds for some of the thirdparty libraries, but enough to work with for now). maya2egg2012 gave me this error:
dyld: Symbol not found: __Py_NoneStruct
Referenced from: /Developer/Panda3D/lib/libp3dtool.1.9.dylib
Expected in: flat namespace
in /Developer/Panda3D/lib/libp3dtool.1.9.dylib
Trace/BPT trap
as if it should be linking to python, but isn’t, maybe?
I’m not sure whether this is related or not, but Maya has always given us problems due to the fact that Maya itself links with a different version of Python than the one we use for Panda. So there do tend to be linking errors.
We did finally solve this on Windows through some sneaky hacks, which allow Panda to be linked in with Maya as long as it promises never to call into any of its own Python functions.
I’m not sure whether this should also work OSX–I’ve never personally tried to build Maya support on OSX (I don’t have that license), and I do know the OSX linker is pretty fussy about some stupid things. rdb might have some more insights.
In the meantime, you could try researching this by simply adding -framework Python to the link line by hand to see what happens.
I have not tried Maya on 64-bit OSX. Let me know your findings!
Linking to the wrong version of Python will probably make the Maya exporter crash. You should try and link to Maya’s version of Python instead of Panda’s. Panda checks for the PANDA_INCOMPATIBLE_PYTHON environment variable, if it is set, then Panda will try not to make calls into Python. I believe it is set automatically by mayapath.cxx (which compiles to the maya2egg program) before invoking maya2egg_bin.
maya2egg2012
MAYA_LOCATION: /Applications/Autodesk/maya2012/Maya.app/Contents
dyld: Library not loaded: /Developer/Panda3D/lib/libOpenMaya.dylib
Referenced from: /Developer/Tools/Panda3D/maya2egg2012_bin
Reason: image not found
strange that it would be looking in Panda3D/lib, not in /Applications/Autodesk/maya2012/Maya.app/Contents/MacOS. Must be some linker flag I guess?
btw here’s my build line, showing which third party libraries are included (not related to the error, here, but just for general interest)
This means that makepanda has mistaken it for a Panda library and changed the library reference to an absolute one. That’s a bug, but for now, try this:
Call “otool -L” on the maya2egg_bin binary to see the libraries it pulls in.
Then, use the following command to change the the library reference to the correct path: (this is one long command, the forum software breaks it up)
Here you go: rdb.name/thirdparty_mac_x86_64.bz2
Missing are still OpenCV, tiff, VRPN, ffmpeg, and librocket. The ones that are there should be universal (ppc, i386, x86_64, some even ppc64)
Could you tell me the location of libIMFbase.dylib on your system?
Hmm. I’m not all that familiar with the workings of dyld and @executable_path, but from what I can gather here, a workaround could be setting DYLD_FALLBACK_LIBRARY_PATH to “/Applications/Autodesk/maya2012/Maya.app/Contents/MacOS/” before running.
I have a working OSX 64-bit Panda with maya2egg2012, built on Snow Leopard. I had to do a lot of manual steps including copying files out of Maya.app, which is probably bad, but here are the steps I took.
Using current CVS source for 64-bit / Cocoa support, for handy things like opening a window and rendering graphics
in makepanda.py, added Python as a dependency for maya2egg