Sounds like libpandaexpress (and presumably other libraries) weren’t compiled with the Python interfaces. Did ppremake report that it detected the presence of Python when you ran it? If it didn’t, you’ll have to fix that, and then go back and recompile everything from the beginning. Sorry about that.
When you run ppremake within the dtool directory, it reports the third-party software packges it has identified and configured on for the build. One of these packages is Python–it tells you whether it is configuring the build with or without Python support.
I’m guessing you ended up with the “without Python support” option.
Same way you enable any of these third-party packages. Edit your Config.pp so that PYTHON_IPATH and PYTHON_LPATH are pointing to the correct locations. On OSX, it might be as simple as putting:
#define PYTHON_FRAMEWORK Python
if you have Python installed as a framework. I haven’t looked at the instructions you’re following, but surely it covers this part?
I, too, have been trying to compile 1.5.2 on my MacBook Pro using the instructions on the edalytical site. The errors that have popped up have closely matched those of MattL920’s described in this thread, until the end.
I never had the missing python support problem, but I did have to disable fftw support (whatever that is) in my Config.pp file. After that, everything seemed to go OK.
However, when I tried to run a sample program, I got this message:
DirectStart: Starting the game.
:interrogatedb(warning): Classes Http_Request and Socket_TCP share the same TypeHandle value (42); check class definitions.
Warning: DirectNotify: category ‘Interval’ already exists
:display: loading display module: libpandagl.dylib
:display: Unable to load: No error.
Known pipe types:
(all display modules loaded.)
StandardError: No graphics pipe is available! Your Config.prc file must name at least one valid panda display library via load-display or aux-display.
After searching the forum, I found a post which mentioned the need to create a Config.prc file in /usr/local/panda/etc (there wasn’t one there already). I copied the Config.prc from the doc folder of source folder to that location and verified that this line is not commented out:
load-display pandagl
Still no joy. I found a thread with some python interpreter commands to verify the set up:
from pandac.PandaModules import *
:interrogatedb(warning): Classes Http_Request and Socket_TCP share the same TypeHandle value (42); check class definitions.
print ConfigPageManager.getGlobalPtr()
0 explicit pages:
MattL920:
(1) did you “make install” on dtool?
(2) did you set your library path to the place where you told the installer to put the libraries?
Zen:
Your first fftw problem, can be solved easily. Its caused by the fact that darwinports’ version of fftw is named differently.
Download this version of panda/src/mathutil/fftCompressor.cxx: panda3d.cvs.sourceforge.net/*che … ision=1.29
After that, it will most likely compile correctly.
Your second problem is caused by the fact that in a latest version of Panda3D a new config variable was needed – the variable plugin-path. Add it and set it to the place where you install Panda’s libraries (most likely that is /usr/local/panda3d/lib).
I don’t know about your third problem, though. That might be related to the second.
I did run make install on dtool, it built without error. I think the libraries are all pointing in the right place, I can’t tell which library (if any) it’s failing to find there to cause that error
Yes, that fixed it, although it is actually:
plugin-path /usr/local/panda/lib (not panda3d)
The warning is still there, but it doesn’t seem to be a problem (yet).
Thanks for the help. It would be great if edalytical’s instructions were updated with the info from this thread or, better yet, if those instructions were posted in an official location on the Panda3D site somewhere and were corrected/updated as needed. As a Mac user, it has been hard to know where to turn at various points and has resulted in a lot of forum searching (that’s how I found this fortuitous thread).