[SOLVED] makepanda error from CVS

I just checked out a fresh copy from CVS and ran into some odd problems when running makepanda:

  1. no confauto.in in makepanda/.
  2. no LICENSE in doc/

fixed those by copying over the needed files from the 1.6.2 source package.

  1. oh, it’s all confused:
dtool/src/dtoolbase/dtoolbase_cc.h:53:22: error: iostream.h: No such file or directory    

As for 1 and 2, you must have a broken copy of the CVS tree. Those files do actually exist on CVS. Incomplete checkout, maybe?

As for 3, iostream.h has been removed from libc, I believe. However, Panda is not including it if you have PHAVE_IOSTREAM defined. Which is put by makepanda into dtool_config.h.

Something must be terribly wrong with your build or source tree. Try making a clean checkout.

:blush: yup, correct. A clean checkout solved that.

Now I have a new one … I think there may be some library version problem here, but I’m not sure.

Referencing Library libdistort                                                                                      
[ 34%] Linking dynamic library built/lib/libpandafx.so                                                              
[ 34%] Building C++ object built/tmp/fmod_audio_fmod_audio_composite.o                                              
[ 34%] Linking dynamic library built/lib/libp3fmod_audio.so                                                         
[ 34%] Building C++ object built/tmp/openal_audio_openal_audio_composite.o                                          
[ 35%] Linking dynamic library built/lib/libp3openal_audio.so                                                       
[ 35%] Building C++ object built/tmp/apply_patch_apply_patch.o                                                      
[ 35%] Linking executable built/bin/apply_patch                                                                     
built/lib/libpanda.so: undefined reference to `fftw_make_node_real2hc'                                              
built/lib/libpanda.so: undefined reference to `fftw_complete_twiddle'                                               
built/lib/libpanda.so: undefined reference to `fftw_gettimeofday_time_diff'                                         
built/lib/libpanda.so: undefined reference to `fftw_wisdom_add'                                                     
built/lib/libpanda.so: undefined reference to `fftw_malloc'                                                         
built/lib/libpanda.so: undefined reference to `fftw_use_plan'                                                       
built/lib/libpanda.so: undefined reference to `fftw_make_node_rgeneric'                                             
built/lib/libpanda.so: undefined reference to `fftw_destroy_table'                                                  
built/lib/libpanda.so: undefined reference to `av_crc8005'                                                          
built/lib/libpanda.so: undefined reference to `fftw_wisdom_lookup'
built/lib/libpanda.so: undefined reference to `fftw_free'
built/lib/libpanda.so: undefined reference to `fftw_gettimeofday_get_time'
built/lib/libpanda.so: undefined reference to `fftw_make_plan'
built/lib/libpanda.so: undefined reference to `fftw_make_node_hc2hc'
built/lib/libpanda.so: undefined reference to `av_register_protocol'
built/lib/libpanda.so: undefined reference to `av_crc07'
built/lib/libpanda.so: undefined reference to `fftw_make_node_hc2real'
built/lib/libpanda.so: undefined reference to `fftw_destroy_plan_internal'
built/lib/libpanda.so: undefined reference to `avcodec_pix_fmt_to_codec_tag'
built/lib/libpanda.so: undefined reference to `fftw_fprint_plan'
built/lib/libpanda.so: undefined reference to `fftw_pick_better'
built/lib/libpanda.so: undefined reference to `avcodec_register_all'
built/lib/libpanda.so: undefined reference to `fftw_lookup'
built/lib/libpanda.so: undefined reference to `fftw_factor'
built/lib/libpanda.so: undefined reference to `fftw_make_empty_table'
built/lib/libpanda.so: undefined reference to `fftw_insert'
built/lib/libpanda.so: undefined reference to `fftw_die'
built/lib/libpanda.so: undefined reference to `av_crc04C11DB7'
built/lib/libpanda.so: undefined reference to `fftw_estimate_node'

I’m using the 1.6.2 thirdparty tools - is that right or should I get more recent ones from elsewhere?

I thought this might mean I’m missing libfftw-dev. I do have libfftw3-dev (3.1.2-3.1ubuntu1), do I need libfftw-dev instead?

(having trouble at the moment installing anything else through synaptic actually because am caught in a dependency hell where having the “unstripped” versions of libavcodec, etc. prevents installation of any of their -dev packages … used dpkg --force-depends but now synaptic thinks they’re broken and wants to remove them whenever I do anything … )

Looks like there are conflicts between the system versions of fftw and ffmpeg and the ones in the thirdparty packages. I suggest removing the entire thirdparty directory, forcing makepanda to find the libraries on the system instead, and making a rebuild (you can force a rebuild by deleting the “built” directory).

(If you are using ubuntu, you can add this PPA to your software sources for libfcollada-dev, libvrpn-dev, libquat-dev, libsquish-dev and libtinyxml-dev:)
launchpad.net/~panda3d/+archive/ppa

You need libfftw-dev, not libfftw3-dev.

Say, should I just install panda3d-runtime from your ppa?

You’ll only get the web plugin and ‘panda3d’ binary (to run .p3d bundles). So no, that won’t install the old & familiar Panda3D devbuild.

This is strange, now I’m getting these linker errors:

[ 36%] Linking executable built/bin/apply_patch
built/lib/libpanda.so: undefined reference to `sws_scale'
built/lib/libpanda.so: undefined reference to `sws_getContext'
built/lib/libpanda.so: undefined reference to `sws_freeContext'

but I have libswscale and libswscale-dev installed (3:0.svn20090303-1ubuntu2+unstripped1).

Whoops, sorry. Please “cvs up”, “rm built/lib/libpanda.so” and resume the build.

I ran into this one, but fixed it:

[ 44%] Linking dynamic library built/lib/libpandaegg.so
[ 44%] Building C++ object built/tmp/mesadisplay_composite.o
[ 44%] Linking dynamic library built/lib/libpandamesa.so
[ 45%] Building C++ object built/tmp/x11display_composite.o
[ 45%] Building C++ object built/tmp/glxdisplay_composite.o
[ 45%] Building C++ object built/tmp/pandagl_pandagl.o
[ 45%] Linking dynamic library built/lib/libpandagl.so
/usr/bin/ld: cannot find -lXxf86dga

I had /usr/lib/libXxf86dga.so.1, so made a link to libXxf68dga.so

Installing libxxf86dga-dev would’ve fixed it too.

It’s strange, I had that installed … in any case, it all works now! thanks.