I included every lib of the form lib*.dylib included with the runtime.
I still appear to be missing the following symbols:
"TypeHandle::dec_memory_usage(TypeHandle::MemoryClass, int)", referenced from:
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
"MemoryUsage::get_global_ptr()", referenced from:
PointerToBase<GeomVertexArrayDataHandle>::update_type(GeomVertexArrayDataHandle*)in ctest.o
PointerToBase<GeomVertexData>::update_type(GeomVertexData*)in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
GeomVertexWriter::inc_add_pointer() in ctest.o
"MemoryUsage::ns_update_type(ReferenceCount*, TypeHandle)", referenced from:
PointerToBase<GeomVertexArrayDataHandle>::update_type(GeomVertexArrayDataHandle*)in ctest.o
PointerToBase<GeomVertexData>::update_type(GeomVertexData*)in ctest.o
I got this list by omitting the “-undefined dynamic_lookup”, and stripping out all the python related errors (which it does seem to dynamically find correctly).
Now my link command is this mess (I’ll may clean this up later):
c++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -bundle ./ctest.o -L$runtimeBinPath -lavcodec.52.43.0 -lp3dtoolconfig -lavformat.52.44.0 -lp3glstuff -lavutil.50.7.0 -lp3tinydisplay -lbz2.1.0 -lpanda -lcrypto.0.9.7 -lpandaexpress -lfftw.2.0.7 -lpandafx -lfreetype.6 -lpandagl -lgcc_s.1 -lpandaphysics -lncursesw.5 -lrfftw.2.0.7 -lp3direct -lssl.0.9.7 -lp3dpython -lswscale.0.7.2 -lp3dtool -lz.1 -o ./ctest.so
So after a bit of poking, it seems DO_MEMORY_USAGE in dtool_config.h was the issue. FIXED!
Side note: did you leave DO_MEMORY_USAGE on in the windows runtime, since it works fine?
So everything works now. Fantastic!
To simplify this in the future, can we publish the configurations and flags the runtimes were built with? I may run into other settings that differ, and would like to avoid reverse engineering the config again (though this time was a good learning experience).
I’d be happy to clean up and document my test app to serve as an example for how to build and package C++/Cython code in P3D files.
Thanks again for all your help! Now it works, and a learned a lot 