run “otool -L /usr/local/panda/bin/interrogate” and check if libstub.dylib has a path assigned.
mine looks like this:
/usr/local/panda/bin/interrogate:
libpystub.dylib (compatibility version 0.0.0, current version 0.0.0)
libinterrogatedb.dylib (compatibility version 0.0.0, current version 0.0.0)
libdconfig.dylib (compatibility version 0.0.0, current version 0.0.0)
libdtoolutil.dylib (compatibility version 0.0.0, current version 0.0.0)
libdtoolbase.dylib (compatibility version 0.0.0, current version 0.0.0)
libprc.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
/usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
I get exactly the same output from otool, but I did figured out what’s going on. I can run interrogate from the command line by itself just fine. However when I was running ppremake and make I was getting permission errors. Instead of fixing the permissions, I took the lazy approach and just ran make with sudo. This was wrong. When interrogate is run from sudo it can’t find the library.
if you run it as sudo, the environment-variables might change. run “sudo bash” and check the environment “export”.
Or just change the ownership of interrogate:
chown yourusername:yourusername /usr/local/panda/bin/interrogate
or for the whole directory:
chown -R yourusername:yourusername /usr/local/panda/*
Yeah my environment variables are set inside .bash_login and that’s not read when sudo is invoked.
I have a new problem with interrogate now. Here’s the error I’m getting:
*** Error in /usr/include/ctype.h near line 146, column 10:
syntax error, unexpected KW_UNSIGNED, expecting '{' or ';' or ':' or '='
Error parsing file: 'downloader_composite2.cxx'
make[1]: *** [Opt3-OSX/libdownloader_igate.cxx] Error 1
make: *** [downloader] Error 2
I changed the Makefile to use /Developer/SDKs/MacOSX10.4u.sdk/usr/include so that it would read ctype.h from the SDK, but I still get a similar error.
*** Error in /Developer/SDKs/MacOSX10.4u.sdk/usr/include/ctype.h near line 117, column 5:
syntax error, unexpected KW_INT, expecting '{' or ';' or ':' or '='
Error parsing file: 'downloader_composite2.cxx'
make: *** [Opt3-OSX/libdownloader_igate.cxx] Error 1
The line before each error in ctype.h is __BEGIN_DECLS otherwise they are different. I think interrogate doesn’t know how to deal with __BEGIN_DECLS.
be aware that compiling with ffmpeg only works (and is compiled) if you incorporate the patches i made. However for the 1.5.0 build i only used a part of them. OpenAL build is currently useless, as it’s not useful right now (only 1 sound-channel running, crashes often if used with more then 1 sound).
And now it’s compiling just fine, perhaps Panda3D can’t be compiled with the system’s default OpenSSL or zlib. I see that you are using zlib from MacPorts, I’m guessing you’re also using OpenSSL from MacPorts.
After this build finishes, I’ll try building again to see if I can isolate the issue.
afaik you should not link/include anything under /usr/lib \ /usr/include, it may work on your own system, but will fail very likely if moved to another system. Use /Developer/SDKs/MacOSX10.4u.sdk/… or macport (/opt/local/) instead. On 10.5 building against /usr/lib will fail, under 10.4 it worked, but i dont recommend it.
I was having the same problem with interrogate not finding those libraries when I ran sudo make (and getting permission errors when I just ran make). I just figured out how to fix it, so in case anyone else has this problem it might help.
I did sudo bash then tried “export $DYLD_LIBRARY_PATH”. Since it was running root and not my username, that variable was empty. I ran the export that was in my .bash_profile (still under root) then ran make, and everything worked fine. Hope that helps someone!