GeoMipTerrain not loading

Hi all, I’m trying to play with GeoMipTerrain, but when I try to import it with “from pandac.PandaModules import GeoMipTerrain” like in the manual’s sample it can’t find it to import and I get an error.

I don’t have any problem loading any other module, just this one. Anyone know what might be going on? I’m running 1.5.2 on a mac

Don’t use terrain.setBruteforce(True) if you are using 1.5.2
I don’t think the image has to be 8bit. I used both an 8bit and 32bit, and they both loaded. However you could try decreasing the color depth of your image and see if that helps.
I’m just guessing. I’m no pro at this, so maybe someone else might have a better suggestions, or even the solution.

from pandac.PandaModules import GeoMipTerrain

terrain = GeoMipTerrain("mySimpleTerrain")
terrain.setHeightfield(Filename("yourHeightField.png"))
#terrain.setBruteforce(True)
terrain.getRoot().reparentTo(render)
terrain.generate()

I used this from the manual and my terrain loaded.
It was just flat though. So I then had to use this:

terrain.getRoot().setSz(10)

It now has form.
I now have to apply a texture.

EDIT:
I just realized that I did not address your problem. You are really saying that the module isn’t loading. Sorry

Hmm, what exact error do you get?
It might be possible your version of either makepanda or panda/src/grutil/Sources.pp (which are you using?) is old and does not contain the geoMipTerrain compile instructions.

Since I’m on a Mac I installed Panda by Hypnos’s instructions. I see geomipterrain.cxx, .h and .l in the /src directory but that’s the only place I can find any files relating to it.

I’m at my work computer now so I can’t get the exact error but it’s basically the same as trying to load any module that can’t be located.

Which instructions? Can you give me a link?
I’m currently building Panda3D on Mac using ppremake. As far as I know the ppremake system compiles geoMipTerrain fine.

I might just need to reinstall. How would I build panda3d using ppremake?

There is a good guide for OSX here:
edalytical.com/articles/buil … opard.html
(Last time I tried, the two urls to the patches didn’t work, but I just compiled panda without fftw support and it worked after that. (Just in case you run into amy problems with that.) )

That’s a great guide! I’ve been following it and ran into one problem though, I ran make in the panda dir and eventually got to this error:

g++ -ftemplate-depth-30  -c -o Opt3-OSX/gobj_gobj_composite2.o -I. -I/Users/matt/src/panda3d-1.5.2/panda -I../event -I../express -I../gsgbase -I../linmath -I../mathutil -I../nativenet -I../net -I../pandabase -I../pipeline -I../pnmimage -I../pstatclient -I../putil -I/usr/local/panda/include -I/opt/local/include    -g -O2 -fPIC gobj_composite2.cxx
In file included from gobj_composite2.cxx:11:
shader.cxx:27:19: error: Cg/cg.h: No such file or directory
shader.cxx: In member function 'Shader::ShaderArgType Shader::cg_parameter_type(_CGparameter*)':
shader.cxx:986: error: 'cgGetParameterType' was not declared in this scope
shader.cxx:987: error: 'CG_FLOAT1' was not declared in this scope
shader.cxx:988: error: 'CG_FLOAT2' was not declared in this scope
shader.cxx:989: error: 'CG_FLOAT3' was not declared in this scope
shader.cxx:990: error: 'CG_FLOAT4' was not declared in this scope
shader.cxx:991: error: 'CG_FLOAT4x4' was not declared in this scope
shader.cxx:992: error: 'CG_SAMPLER1D' was not declared in this scope
shader.cxx:993: error: 'CG_SAMPLER2D' was not declared in this scope
shader.cxx:994: error: 'CG_SAMPLER3D' was not declared in this scope
shader.cxx:995: error: 'CG_SAMPLERCUBE' was not declared in this scope
shader.cxx: In member function 'Shader::ShaderArgDir Shader::cg_parameter_dir(_CGparameter*)':
shader.cxx:1007: error: 'cgGetParameterDirection' was not declared in this scope
shader.cxx:1008: error: 'CG_IN' was not declared in this scope
shader.cxx:1009: error: 'CG_OUT' was not declared in this scope
shader.cxx:1010: error: 'CG_INOUT' was not declared in this scope
shader.cxx: In member function 'void Shader::cg_release_resources()':
shader.cxx:1023: error: 'cgDestroyProgram' was not declared in this scope
shader.cxx:1027: error: 'cgDestroyProgram' was not declared in this scope
shader.cxx:1031: error: 'cgDestroyContext' was not declared in this scope
shader.cxx: In member function '_CGprogram* Shader::cg_compile_entry_point(char*, const Shader::ShaderCaps&, bool)':
shader.cxx:1045: error: 'CGerror' was not declared in this scope
shader.cxx:1045: error: expected `;' before 'err'
shader.cxx:1051: error: 'cgGetError' was not declared in this scope
shader.cxx:1059: error: 'CG_PROFILE_UNKNOWN' was not declared in this scope
shader.cxx:1060: error: 'CG_SOURCE' was not declared in this scope
shader.cxx:1061: error: 'CGprofile' was not declared in this scope
shader.cxx:1061: error: 'cgCreateProgram' was not declared in this scope
shader.cxx:1062: error: 'CG_NO_ERROR' was not declared in this scope
shader.cxx:1066: error: 'cgDestroyProgram' was not declared in this scope
shader.cxx:1070: error: 'CG_SOURCE' was not declared in this scope
shader.cxx:1071: error: 'CGprofile' was not declared in this scope
shader.cxx:1071: error: 'cgCreateProgram' was not declared in this scope
shader.cxx:1072: error: 'err' was not declared in this scope
shader.cxx:1073: error: 'CG_NO_ERROR' was not declared in this scope
shader.cxx:1076: error: 'CG_COMPILER_ERROR' was not declared in this scope
shader.cxx:1077: error: 'cgGetLastListing' was not declared in this scope
shader.cxx:1087: error: 'cgGetErrorString' was not declared in this scope
shader.cxx:1090: error: 'cgDestroyProgram' was not declared in this scope
shader.cxx: In member function 'bool Shader::cg_compile_shader(const Shader::ShaderCaps&)':
shader.cxx:1118: error: 'cgCreateContext' was not declared in this scope
shader.cxx: In member function 'bool Shader::cg_analyze_entry_point(_CGprogram*, bool)':
shader.cxx:1147: error: 'CG_PROGRAM' was not declared in this scope
shader.cxx:1147: error: 'cgGetFirstLeafParameter' was not declared in this scope
shader.cxx:1149: error: 'cgGetNextLeafParameter' was not declared in this scope
shader.cxx:1150: error: 'CGenum' was not declared in this scope
shader.cxx:1150: error: expected `;' before 'vbl'
shader.cxx:1151: error: 'vbl' was not declared in this scope
shader.cxx:1151: error: 'CG_VARYING' was not declared in this scope
shader.cxx:1151: error: 'CG_UNIFORM' was not declared in this scope
shader.cxx:1153: error: 'cgGetParameterName' was not declared in this scope
shader.cxx: In member function 'bool Shader::cg_analyze_shader(const Shader::ShaderCaps&)':
shader.cxx:1242: error: 'CG_COMPILED_PROGRAM' was not declared in this scope
shader.cxx:1242: error: 'cgGetProgramString' was not declared in this scope
shader.cxx: In member function 'bool Shader::cg_compile_for(const Shader::ShaderCaps&, _CGcontext*&, _CGprogram*&, _CGprogram*&, pvector<_CGparameter*>&)':
shader.cxx:1359: error: 'cgGetProgramProfile' was not declared in this scope
shader.cxx:1376: error: 'cgGetNamedParameter' was not declared in this scope
shader.cxx:1381: error: 'cgGetNamedParameter' was not declared in this scope
shader.cxx:1382: error: 'cgGetParameterBaseResource' was not declared in this scope
shader.cxx:1382: error: 'CG_UNDEFINED' was not declared in this scope
shader.cxx:1389: error: 'cgGetNamedParameter' was not declared in this scope
shader.cxx:1390: error: 'cgGetParameterBaseResource' was not declared in this scope
shader.cxx:1390: error: 'CG_UNDEFINED' was not declared in this scope
shader.cxx: In constructor 'Shader::Shader(const Filename&, const std::string&)':
shader.cxx:1433: error: 'CG_PROFILE_UNKNOWN' was not declared in this scope
shader.cxx:1435: error: 'CGprofile' was not declared in this scope
shader.cxx:1435: error: expected `)' before numeric constant
shader.cxx:1436: error: expected `)' before numeric constant
make[1]: *** [Opt3-OSX/gobj_gobj_composite2.o] Error 1
make: *** [gobj] Error 2

Same error with make in direct too:

g++ -ftemplate-depth-30  -c -o Opt3-OSX/directbase_directbase.o -I. -I/Users/matt/src/panda3d-1.5.2/direct -I/usr/local/panda/include -I/usr/local/panda/include    -g -O2 -fPIC directbase.cxx
In file included from directbase.cxx:19:
directbase.h:26:23: error: pandabase.h: No such file or directory
make[1]: *** [Opt3-OSX/directbase_directbase.o] Error 1
make: *** [directbase] Error 2

Right. You need to install the Cg toolkit.
Download it here:
developer.nvidia.com/object/cg_toolkit.html

The second error is probably because you didn’t complete building the panda/ directory and/or didn’t call “make install” in the panda dir after “make”.

Getting closer :slight_smile:

direct and panda compiled fine now, I went to pandatool and tried to compile that but got this error. Am I missing another package?

cd ./src/bam && make all
g++  -o Opt3-OSX/bam-info Opt3-OSX/bam-info_bamInfo.o    -L../pandatoolbase/Opt3-OSX -L../progbase/Opt3-OSX -L/usr/local/panda/lib -L/usr/local/panda/lib -L/usr/local/panda/lib -L/Library/Frameworks/Cg.framework -L/opt/local/lib -lprogbase -lpandatoolbase -legg2pg -legg -lpipeline -lrecorder -lparametrics -lcollide -lchan -lchar -ldgraph -ldownloader -lpnmimagetypes -lpnmimage -lpgraph -lgobj -lputil -llerp -lmathutil -llinmath -levent -lpstatclient -lgsgbase -lgrutil -ldisplay -ltext -lcull -lpnmtext -ltform -ldevice -lmovies -lnet -lnativenet -laudio -lpandabase -lexpress -linterrogatedb -ldtoolutil -ldtoolbase -lprc -ldconfig -lpystub -lz  -framework Cg
/usr/bin/ld: can't locate file for: -lpnmtext
collect2: ld returned 1 exit status
make[1]: *** [Opt3-OSX/bam-info] Error 1
make: *** [bam] Error 2

Oops, that’s an example of a bug in pandatool/src/bam/Sources.pp–it includes a hardcoded reference to libpnmtext.so, not realizing that it should be omitted if you don’t have the Freetype library.

I’ve just checked in a fix. You can either update it, or you can simply remove the reference to pnmtext in that file for now.

David

Thanks, it was also listed in egg-qtess and ptloader. Once I got rid of those references it built fine. I’m having another error with pandaapp now though when I try to make it. This is a long series of assert failures and it finally fails:

cd ./src/configfiles && make all
make[1]: Nothing to be done for `all'.
cd ./src/pandaappbase && make all
make[1]: Nothing to be done for `all'.
cd ./src/httpbackup && make all
g++  -o Opt3-OSX/httpbackup Opt3-OSX/httpbackup_backupCatalog.o Opt3-OSX/httpbackup_httpBackup.o    -L../pandaappbase/Opt3-OSX -L/usr/local/panda/lib -L/usr/local/panda/lib -L/usr/local/panda/lib -L/usr/local/panda/lib -lpandaappbase -lprogbase -lpandatoolbase -lexpress -ldownloader -lpystub  
/usr/bin/ld: warning can't open dynamic library: libpipeline.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libevent.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libpandabase.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libpnmimage.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: liblinmath.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libputil.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libinterrogatedb.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libprc.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libdconfig.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libdtoolutil.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: warning can't open dynamic library: libdtoolbase.dylib referenced from: /usr/local/panda/lib/libprogbase.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: Undefined symbols:
init_memory_hook()
MemoryHook::get_deleted_chain(unsigned long)
TypeHandle::dec_memory_usage(TypeHandle::MemoryClass, int)
TypeHandle::inc_memory_usage(TypeHandle::MemoryClass, int)
DeletedBufferChain::deallocate(void*, TypeHandle)
DeletedBufferChain::allocate(unsigned long, TypeHandle)
Notify::out()
Filename::locate_hash()
Filename::locate_basename()
Filename::locate_extension()
Filename::Filename(Filename const&, Filename const&)
Filename::open_write(std::basic_ofstream<char, std::char_traits<char> >&, bool) const
Filename::exists() const
Filename::unlink() const
Filename::open_read(std::basic_ifstream<char, std::char_traits<char> >&) const
_memory_hook
_pmap_type_handle
_pset_type_handle
_pvector_type_handle
TypeHandle::_none
TypedObject::_type_handle
TypedObject::init_type()
TypeRegistry::register_type(TypeHandle&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
TypeRegistry::record_derivation(TypeHandle, TypeHandle)
TypeRegistry::ptr()
Notify::assert_failure(char const*, int, char const*)
Notify::ptr()
Filename::make_dir() const
init_memory_hook()     referenced from libdownloader expected to be defined in libdtoolbase.dylib
indent(std::basic_ostream<char, std::char_traits<char> >&, int)referenced from libdownloader expected to be defined in libdtoolbase.dylib
MemoryHook::get_deleted_chain(unsigned long)referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypeHandle::dec_memory_usage(TypeHandle::MemoryClass, int)referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypeHandle::inc_memory_usage(TypeHandle::MemoryClass, int)referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypeHandle::_none       referenced from libdownloader expected to be defined in libdtoolbase.dylib
ConfigFlags::_global_modified        referenced from libdownloader expected to be defined in libprc.dylib
PandaSystem::add_system(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libdownloader expected to be defined in libdtoolutil.dylib
PandaSystem::get_global_ptr()       referenced from libdownloader expected to be defined in libdtoolutil.dylib
TypedObject::_type_handle        referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypedObject::init_type()      referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypedObject::~TypedObject()referenced from libdownloader expected to be defined in libdtoolbase.dylib
StreamReader::extract_bytes(unsigned long)referenced from libdownloader expected to be defined in libprc.dylib
TypeRegistry::register_type(TypeHandle&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypeRegistry::record_derivation(TypeHandle, TypeHandle)referenced from libdownloader expected to be defined in libdtoolbase.dylib
TypeRegistry::ptr()      referenced from libdownloader expected to be defined in libdtoolbase.dylib
NotifyCategory::update_severity_cache()       referenced from libdownloader expected to be defined in libprc.dylib
ConfigDeclaration::check_bool_word(int)    referenced from libdownloader expected to be defined in libprc.dylib
ConfigDeclaration::check_double_word(int)    referenced from libdownloader expected to be defined in libprc.dylib
ConfigDeclaration::get_words()      referenced from libdownloader expected to be defined in libprc.dylib
ConfigVariableInt::set_default_value(int)    referenced from libdownloader expected to be defined in libprc.dylib
ConfigVariableBase::ConfigVariableBase(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ConfigFlags::ValueType, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)referenced from libdownloader expected to be defined in libprc.dylib
ConfigVariableCore::set_default_value(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libdownloader expected to be defined in libprc.dylib
DeletedBufferChain::deallocate(void*, TypeHandle)   referenced from libdownloader expected to be defined in libdtoolbase.dylib
DeletedBufferChain::allocate(unsigned long, TypeHandle)referenced from libdownloader expected to be defined in libdtoolbase.dylib
ConfigVariableDouble::set_default_value(double) referenced from libdownloader expected to be defined in libprc.dylib
Notify::get_category(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libdownloader expected to be defined in libprc.dylib
Notify::assert_failure(char const*, int, char const*)referenced from libdownloader expected to be defined in libprc.dylib
Notify::out()     referenced from libdownloader expected to be defined in libprc.dylib
Notify::ptr()     referenced from libdownloader expected to be defined in libprc.dylib
Filename::locate_hash()      referenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::locate_basename()      referenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::locate_extension()      referenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::Filename(Filename const&, Filename const&)referenced from libdownloader expected to be defined in libdtoolutil.dylib
NotifyCategory::out(NotifySeverity, bool) constreferenced from libdownloader expected to be defined in libprc.dylib
ConfigVariableCore::get_declaration(int) constreferenced from libdownloader expected to be defined in libprc.dylib
Filename::open_write(std::basic_ofstream<char, std::char_traits<char> >&, bool) constreferenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::exists() constreferenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::unlink() constreferenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::make_dir() constreferenced from libdownloader expected to be defined in libdtoolutil.dylib
Filename::open_read(std::basic_ifstream<char, std::char_traits<char> >&) constreferenced from libdownloader expected to be defined in libdtoolutil.dylib
_memory_hook referenced from libdownloader expected to be defined in libdtoolbase.dylib
_pmap_type_handle referenced from libdownloader expected to be defined in libdtoolbase.dylib
_pvector_type_handle referenced from libdownloader expected to be defined in libdtoolbase.dylib
_uchar_type_handle referenced from libdownloader expected to be defined in libdtoolbase.dylib
ConfigDeclaration::check_int_word(int)    referenced from libdownloader expected to be defined in libprc.dylib
ConfigPageManager::get_global_ptr()       referenced from libdownloader expected to be defined in libprc.dylib
ConfigPageManager::reload_implicit_pages()       referenced from libdownloader expected to be defined in libprc.dylib
ConfigVariableCore::sort_declarations()       referenced from libdownloader expected to be defined in libprc.dylib
ConfigVariableFilename::reload_cache()       referenced from libdownloader expected to be defined in libprc.dylib
Filename::expand_from(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Filename::Type)referenced from libdownloader expected to be defined in libdtoolutil.dylib
GlobPattern::matches_substr(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >) constreferenced from libdownloader expected to be defined in libprc.dylib
typeinfo for TypedObjectreferenced from libdownloader expected to be defined in libdtoolbase.dylib
vtable for TypedObjectreferenced from libdownloader expected to be defined in libdtoolbase.dylib
_pdeque_type_handle referenced from libdownloader expected to be defined in libdtoolbase.dylib
_pset_type_handle referenced from libdownloader expected to be defined in libdtoolbase.dylib
init_system_type_handles()     referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::mmap_alloc(unsigned long, bool)referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::heap_free_array(void*)   referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::heap_alloc_array(unsigned long)referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::heap_free_single(void*)   referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::heap_alloc_single(unsigned long)referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::heap_realloc_array(void*, unsigned long)referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::overflow_heap_size()       referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::mmap_free(void*, unsigned long)referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::MemoryHook(MemoryHook const&)referenced from libexpress expected to be defined in libdtoolbase.dylib
MemoryHook::~MemoryHook()referenced from libexpress expected to be defined in libdtoolbase.dylib
TypeRegistry::is_derived_from(TypeHandle, TypeHandle, TypedObject*)referenced from libexpress expected to be defined in libdtoolbase.dylib
EncryptStreamBuf::open_write(std::basic_ostream<char, std::char_traits<char> >*, bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libexpress expected to be defined in libprc.dylib
EncryptStreamBuf::open_read(std::basic_istream<char, std::char_traits<char> >*, bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libexpress expected to be defined in libprc.dylib
EncryptStreamBuf::EncryptStreamBuf()referenced from libexpress expected to be defined in libprc.dylib
EncryptStreamBuf::~EncryptStreamBuf()referenced from libexpress expected to be defined in libprc.dylib
ConfigDeclaration::check_int64_word(int)    referenced from libexpress expected to be defined in libprc.dylib
ConfigVariableInt64::set_default_value(long long)referenced from libexpress expected to be defined in libprc.dylib
ReversedNumericData::reverse_assign(char const*, unsigned long)referenced from libexpress expected to be defined in libprc.dylib
Filename::standardize()      referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::from_os_specific(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Filename::Type)referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::temporary(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Filename::Type)referenced from libexpress expected to be defined in libdtoolutil.dylib
TypeRegistry::get_name(TypeHandle, TypedObject*) const  referenced from libexpress expected to be defined in libdtoolbase.dylib
Filename::get_timestamp() const referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::open_read_write(std::basic_fstream<char, std::char_traits<char> >&) constreferenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::rename_to(Filename const&) constreferenced from libexpress expected to be defined in libdtoolutil.dylib
typeinfo for MemoryHookreferenced from libexpress expected to be defined in libdtoolbase.dylib
_ov_set_type_handle referenced from libexpress expected to be defined in libdtoolbase.dylib
string_to_int(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int&)referenced from libprogbase expected to be defined in libputil.dylib
string_to_float(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float&)referenced from libprogbase expected to be defined in libputil.dylib
string_to_double(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&)referenced from libprogbase expected to be defined in libputil.dylib
parse_coordinate_system_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libprogbase expected to be defined in liblinmath.dylib
tokenize(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pvector<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libprogbase expected to be defined in libputil.dylib
DSearchPath::append_directory(Filename const&)  referenced from libprogbase expected to be defined in libdtoolutil.dylib
PNMFileTypeRegistry::get_global_ptr()       referenced from libprogbase expected to be defined in libpnmimage.dylib
NotifyCategoryGetCategory_dconfig::get_category()       referenced from libprogbase expected to be defined in libdconfig.dylib
Config::total_num_get       referenced from libprogbase expected to be defined in libdconfig.dylib
Config::total_time_config_init       referenced from libprogbase expected to be defined in libdconfig.dylib
Config::total_time_external_init       referenced from libprogbase expected to be defined in libdconfig.dylib
Notify::set_ostream_ptr(std::basic_ostream<char, std::char_traits<char> >*, bool)referenced from libprogbase expected to be defined in libprc.dylib
Notify::get_literal_flag()      referenced from libprogbase expected to be defined in libprc.dylib
PNMFileTypeRegistry::get_type_from_extension(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) constreferenced from libprogbase expected to be defined in libpnmimage.dylib
PNMFileTypeRegistry::write(std::basic_ostream<char, std::char_traits<char> >&, int) constreferenced from libprogbase expected to be defined in libpnmimage.dylib
_dconfig_cat referenced from libprogbase expected to be defined in libdconfig.dylib
_gnu_getopt_long_only referenced from libprogbase expected to be defined in libdtoolutil.dylib
_gnu_optarg referenced from libprogbase expected to be defined in libdtoolutil.dylib
_gnu_optind referenced from libprogbase expected to be defined in libdtoolutil.dylib
DSearchPath::Results::add_file(Filename const&)referenced from libexpress expected to be defined in libdtoolutil.dylib
ExecutionEnvironment::expand_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libexpress expected to be defined in libdtoolutil.dylib
ExecutionEnvironment::get_cwd()      referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::set_extension(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::make_relative_to(Filename, bool)referenced from libexpress expected to be defined in libdtoolutil.dylib
DSearchPath::get_directory(int) constreferenced from libexpress expected to be defined in libdtoolutil.dylib
DSearchPath::get_num_directories() const  referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::is_directory() const referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::get_file_size() const referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::scan_directory(pvector<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) constreferenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::is_regular_file() const referenced from libexpress expected to be defined in libdtoolutil.dylib
Filename::get_filename_index(int) constreferenced from libexpress expected to be defined in libdtoolutil.dylib
cmp_nocase(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libpandatoolbase expected to be defined in libputil.dylib
cmp_nocase_uh(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)referenced from libpandatoolbase expected to be defined in libputil.dylib
get_model_path()     referenced from libpandatoolbase expected to be defined in libputil.dylib
DSearchPath::DSearchPath()referenced from libpandatoolbase expected to be defined in libdtoolutil.dylib
DSearchPath::~DSearchPath()referenced from libpandatoolbase expected to be defined in libdtoolutil.dylib
ConfigVariableSearchPath::reload_search_path()       referenced from libpandatoolbase expected to be defined in libprc.dylib
Filename::make_absolute()      referenced from libpandatoolbase expected to be defined in libdtoolutil.dylib
Filename::extract_components(pvector<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) constreferenced from libpandatoolbase expected to be defined in libdtoolutil.dylib
collect2: ld returned 1 exit status
make[1]: *** [Opt3-OSX/httpbackup] Error 1
make: *** [httpbackup] Error 2

(previous problem):
Or, a better (imho) solution:

sudo port install freetype

Then configure the paths to freetype in your Config.pp.

(current problem):
You have not configured your LD_LIBRARY_PATH and DYLD_LIBRARY_PATH correctly. Make them point to the lib path where you are building panda.

Hmm… I defined those just like the instructions said:

export PATH="/usr/local/panda/bin:$PATH"
export DYLD_LIBRARY_PATH=/usr/local/panda/lib
export PYTHONPATH=/usr/local/panda/lib:/usr/local/panda/lib/direct:$PYTHONPATH

It didn’t mention LD_LIBRARY_PATH, just DYLD_LIBRARY_PATH though. Is that another path that I need to include?

EDIT: Oops, I didn’t know you were already at pandaapp. That was fast. Yeah, it indeed doesn’t compile under OSX.

No, sorry, this is a problem with pandaapp itself–it doesn’t have the appropriate link instructions to satisfy the OSX linker.

Simple solution: don’t build pandaapp. It’s old and crufty and doesn’t have anything at all useful in it. In fact, I should just delete the tree.

David

Ok, I’m skipping pandaapp, thanks for the heads up. So now it doesn’t seem to be able to locate pandac.PandaModules when I try to create an empty window to test it out. I had thought I compiled all the other components but maybe I missed something? Hopefully this is the last error, I’m sure you’re all getting sick of me by now :wink:

>>> import direct.directbase.DirectStart
DirectStart: Starting the game.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/panda/lib/direct/directbase/DirectStart.py", line 3, in <module>
    from direct.showbase import ShowBase
  File "/usr/local/panda/lib/direct/showbase/ShowBase.py", line 10, in <module>
    from pandac.PandaModules import *
ImportError: No module named pandac.PandaModules

Did you run genPyCode?

David

You’re right, I had forgotten to run that. Naturally I get another error when I do, though :frowning:

Traceback (most recent call last):
  File "/usr/local/panda/bin/genPyCode.py", line 7, in <module>
    from direct.ffi import DoGenPyCode
  File "/usr/local/panda/lib/direct/ffi/DoGenPyCode.py", line 11, in <module>
    from direct.ffi import FFIConstants
  File "/usr/local/panda/lib/direct/ffi/FFIConstants.py", line 3, in <module>
    from direct.directnotify.DirectNotifyGlobal import *
  File "/usr/local/panda/lib/direct/directnotify/DirectNotifyGlobal.py", line 3, in <module>
    import DirectNotify
  File "/usr/local/panda/lib/direct/directnotify/DirectNotify.py", line 5, in <module>
    import Notifier
  File "/usr/local/panda/lib/direct/directnotify/Notifier.py", line 6, in <module>
    from direct.showbase import PythonUtil
  File "/usr/local/panda/lib/direct/showbase/PythonUtil.py", line 51, in <module>
    import direct.extensions_native.extension_native_helpers
  File "/usr/local/panda/lib/direct/extensions_native/extension_native_helpers.py", line 38, in <module>
    from libpandaexpress import *
ImportError: dynamic module does not define init function (initlibpandaexpress)