Makepanda compilation failed

I’m just compiling Panda 3D on Fedora 19 and after half an hour it falls. Can somebody help me?
My build parametrs:

python makepanda/makepanda.py --everything
WARNING: Could not locate pkg-config package eigen3, excluding from build
Generating library cache...
WARNING: Could not locate thirdparty package artoolkit, excluding from build
WARNING: Could not locate thirdparty package fcollada, excluding from build
WARNING: Could not locate thirdparty package ffmpeg, excluding from build
WARNING: Could not locate thirdparty package swscale, excluding from build
WARNING: Could not locate thirdparty package fmodex, excluding from build
WARNING: Could not locate thirdparty package gles, excluding from build
WARNING: Could not locate thirdparty package gles2, excluding from build
WARNING: Could not locate thirdparty package osmesa, excluding from build
WARNING: Could not locate thirdparty package nvidiacg, excluding from build
WARNING: Could not locate thirdparty package opencv, excluding from build
WARNING: Could not locate thirdparty package squish, excluding from build
WARNING: Could not locate thirdparty package vrpn, excluding from build
WARNING: Could not locate thirdparty package rocket, excluding from build
WARNING: Could not locate thirdparty package xf86dga, excluding from build
Generating dependencies...
[  0%] Building C++ object built/tmp/p3dtoolbase_composite1.o
[  0%] Building C++ object built/tmp/p3dtoolbase_composite2.o
[  0%] Building C object built/tmp/p3dtoolbase_lookup3.o
[  0%] Building C++ object built/tmp/p3dtoolbase_indent.o
[  0%] Building C++ object built/tmp/p3dtoolutil_composite1.o

The error:

Referencing Library libp3egg
Referencing Library libp3egg2pg
[ 47%] Linking dynamic library built/lib/libpandaegg.so
[ 47%] Building C++ object built/tmp/p3x11display_composite1.o
[ 47%] Building C++ object built/tmp/p3glxdisplay_composite1.o
[ 47%] Building C++ object built/tmp/pandagl_pandagl.o
[ 48%] Linking dynamic library built/lib/libpandagl.so
[ 48%] Building C++ object built/tmp/p3ode_composite1.o
In file included from panda/src/ode/odeWorld.h:139:0,
                 from panda/src/ode/config_ode.cxx:16,
                 from panda/src/ode/p3ode_composite1.cxx:2:
panda/src/ode/odeWorld.I: In member function ‘void OdeWorld::step_fast1(dReal, int)’:
panda/src/ode/odeWorld.I:150:47: error: ‘dWorldStepFast1’ was not declared in this scope
   dWorldStepFast1(_id, stepsize, maxiterations);
                                               ^
panda/src/ode/odeWorld.I: In member function ‘void OdeWorld::set_auto_enable_depth_sf1(int)’:
panda/src/ode/odeWorld.I:155:53: error: ‘dWorldSetAutoEnableDepthSF1’ was not declared in this scope
   dWorldSetAutoEnableDepthSF1(_id, auto_enable_depth);
                                                     ^
panda/src/ode/odeWorld.I: In member function ‘int OdeWorld::get_auto_enable_depth_sf1() const’:
panda/src/ode/odeWorld.I:160:41: error: ‘dWorldGetAutoEnableDepthSF1’ was not declared in this scope
   return dWorldGetAutoEnableDepthSF1(_id);
                                         ^
Storing dependency cache.
Elapsed Time: 38 min 17 sec
The following command returned a non-zero value: g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/p3ode_composite1.o -Ibuilt/tmp -Ibuilt/include -I/usr/include/python2.7 -DdSINGLE= -DMAKEPANDA= -Ipanda/src/ode -pthread -msse2 -O2 -DBUILDING_PANDAODE panda/src/ode/p3ode_composite1.cxx
Build terminated.

I’m started the command which failed output:

[fdobrovolny@xxx.xxx panda3d-1.8.1]$ g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/p3ode_composite1.o -Ibuilt/tmp -Ibuilt/include -I/usr/include/python2.7 -DdSINGLE= -DMAKEPANDA= -Ipanda/src/ode -pthread -msse2 -O2 -DBUILDING_PANDAODE panda/src/ode/p3ode_composite1.cxx
In file included from panda/src/ode/odeWorld.h:139:0,
                 from panda/src/ode/config_ode.cxx:16,
                 from panda/src/ode/p3ode_composite1.cxx:2:
panda/src/ode/odeWorld.I: In member function ‘void OdeWorld::step_fast1(dReal, int)’:
panda/src/ode/odeWorld.I:150:47: error: ‘dWorldStepFast1’ was not declared in this scope
   dWorldStepFast1(_id, stepsize, maxiterations);
                                               ^
panda/src/ode/odeWorld.I: In member function ‘void OdeWorld::set_auto_enable_depth_sf1(int)’:
panda/src/ode/odeWorld.I:155:53: error: ‘dWorldSetAutoEnableDepthSF1’ was not declared in this scope
   dWorldSetAutoEnableDepthSF1(_id, auto_enable_depth);
                                                     ^
panda/src/ode/odeWorld.I: In member function ‘int OdeWorld::get_auto_enable_depth_sf1() const’:
panda/src/ode/odeWorld.I:160:41: error: ‘dWorldGetAutoEnableDepthSF1’ was not declared in this scope
   return dWorldGetAutoEnableDepthSF1(_id);
                                         ^

The StepFast1 methods have been removed from more recent ODE versions. You should remove the *_step_fast_1 and *_sf1 methods from panda/src/ode/odeWorld.h and odeWorld.I. (This has already been fixed on the CVS trunk.)

Thanks the problem solved, but after while there is next. :slight_smile:

[ 49%] Building C++ object built/tmp/pandaode_pandaode.o
[ 49%] Building Interrogate object built/tmp/libpandaode_module.o
Referencing Library libpandaode
[ 50%] Linking dynamic library built/lib/libpandaode.so
[ 50%] Building C++ object built/tmp/p3bullet_composite.o
In file included from panda/src/bullet/config_bullet.h:27:0,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletWorld.h:132:23: error: invalid abstract return type for member function ‘BulletContactResult BulletWorld::contact_test(PandaNode*) const’
   BulletContactResult contact_test(PandaNode *node) const;
                       ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   because the following virtual functions are pure within ‘BulletContactResult’:
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from /usr/include/bullet/btBulletCollisionCommon.h:22:0,
                 from /usr/include/bullet/btBulletDynamicsCommon.h:20,
                 from panda/src/bullet/bullet_includes.h:20,
                 from panda/src/bullet/bulletWorld.h:20,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
/usr/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h:429:20: note: 	virtual btScalar btCollisionWorld::ContactResultCallback::addSingleResult(btManifoldPoint&, const btCollisionObjectWrapper*, int, int, const btCollisionObjectWrapper*, int, int)
   virtual btScalar addSingleResult(btManifoldPoint& cp, const btCollisionObjectWrapper* colObj0Wrap,int partId0,int index0,const btCollisionObjectWrapper* colObj1Wrap,int partId1,int index1) = 0;
                    ^
In file included from panda/src/bullet/config_bullet.h:27:0,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletWorld.h:133:23: error: invalid abstract return type for member function ‘BulletContactResult BulletWorld::contact_test_pair(PandaNode*, PandaNode*) const’
   BulletContactResult contact_test_pair(PandaNode *node0, PandaNode *node1) const;
                       ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/p3bullet_composite.cxx:1:0:
panda/src/bullet/config_bullet.cxx: In function ‘void init_libbullet()’:
panda/src/bullet/config_bullet.cxx:180:25: error: invalid conversion from ‘bool (*)(btManifoldPoint&, const btCollisionObject*, int, int, const btCollisionObject*, int, int)’ to ‘ContactAddedCallback {aka bool (*)(btManifoldPoint&, const btCollisionObjectWrapper*, int, int, const btCollisionObjectWrapper*, int, int)}’ [-fpermissive]
   gContactAddedCallback = contact_added_callback;
                         ^
In file included from panda/src/bullet/p3bullet_composite.cxx:3:0:
panda/src/bullet/bulletAllHitsRayResult.cxx: In member function ‘const BulletRayHit BulletAllHitsRayResult::get_hit(int) const’:
panda/src/bullet/bulletAllHitsRayResult.cxx:115:15: error: invalid conversion from ‘const btCollisionObject*’ to ‘btCollisionObject*’ [-fpermissive]
   hit._object = m_collisionObjects[idx];
               ^
In file included from panda/src/bullet/p3bullet_composite.cxx:8:0:
panda/src/bullet/bulletClosestHitRayResult.cxx: In member function ‘PandaNode* BulletClosestHitRayResult::get_node() const’:
panda/src/bullet/bulletClosestHitRayResult.cxx:78:34: error: invalid conversion from ‘const btCollisionObject*’ to ‘btCollisionObject*’ [-fpermissive]
   btCollisionObject *objectPtr = m_collisionObject;
                                  ^
In file included from panda/src/bullet/p3bullet_composite.cxx:9:0:
panda/src/bullet/bulletClosestHitSweepResult.cxx: In member function ‘PandaNode* BulletClosestHitSweepResult::get_node() const’:
panda/src/bullet/bulletClosestHitSweepResult.cxx:78:34: error: invalid conversion from ‘const btCollisionObject*’ to ‘btCollisionObject*’ [-fpermissive]
   btCollisionObject *objectPtr = m_hitCollisionObject;
                                  ^
In file included from panda/src/bullet/p3bullet_composite.cxx:26:0:
panda/src/bullet/bulletPersistentManifold.cxx: In member function ‘PandaNode* BulletPersistentManifold::get_node0()’:
panda/src/bullet/bulletPersistentManifold.cxx:69:82: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
   btCollisionObject *obj = static_cast<btCollisionObject *>(_manifold->getBody0());
                                                                                  ^
panda/src/bullet/bulletPersistentManifold.cxx: In member function ‘PandaNode* BulletPersistentManifold::get_node1()’:
panda/src/bullet/bulletPersistentManifold.cxx:82:82: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
   btCollisionObject *obj = static_cast<btCollisionObject *>(_manifold->getBody1());
                                                                                  ^
In file included from panda/src/bullet/p3bullet_composite.cxx:42:0:
panda/src/bullet/bulletWorld.cxx: In member function ‘BulletContactResult BulletWorld::contact_test(PandaNode*) const’:
panda/src/bullet/bulletWorld.cxx:656:21: error: invalid abstract return type for member function ‘BulletContactResult BulletWorld::contact_test(PandaNode*) const’
 BulletContactResult BulletWorld::
                     ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/p3bullet_composite.cxx:42:0:
panda/src/bullet/bulletWorld.cxx:661:23: error: cannot declare variable ‘cb’ to be of abstract type ‘BulletContactResult’
   BulletContactResult cb;
                       ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/p3bullet_composite.cxx:42:0:
panda/src/bullet/bulletWorld.cxx:667:10: error: cannot allocate an object of abstract type ‘BulletContactResult’
   return cb;
          ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/p3bullet_composite.cxx:42:0:
panda/src/bullet/bulletWorld.cxx: In member function ‘BulletContactResult BulletWorld::contact_test_pair(PandaNode*, PandaNode*) const’:
panda/src/bullet/bulletWorld.cxx:675:21: error: invalid abstract return type for member function ‘BulletContactResult BulletWorld::contact_test_pair(PandaNode*, PandaNode*) const’
 BulletContactResult BulletWorld::
                     ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/p3bullet_composite.cxx:42:0:
panda/src/bullet/bulletWorld.cxx:681:23: error: cannot declare variable ‘cb’ to be of abstract type ‘BulletContactResult’
   BulletContactResult cb;
                       ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/p3bullet_composite.cxx:42:0:
panda/src/bullet/bulletWorld.cxx:687:10: error: cannot allocate an object of abstract type ‘BulletContactResult’
   return cb;
          ^
In file included from panda/src/bullet/bulletWorld.h:26:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletContactResult.h:56:26: note:   since type ‘BulletContactResult’ has pure virtual functions
 struct EXPCL_PANDABULLET BulletContactResult : public btCollisionWorld::ContactResultCallback {
                          ^
In file included from panda/src/bullet/bulletWorld.h:28:0,
                 from panda/src/bullet/config_bullet.h:27,
                 from panda/src/bullet/config_bullet.cxx:15,
                 from panda/src/bullet/p3bullet_composite.cxx:1:
panda/src/bullet/bulletBaseCharacterControllerNode.h: At global scope:
panda/src/bullet/bulletBaseCharacterControllerNode.h:46:44: warning: inline function ‘virtual btPairCachingGhostObject* BulletBaseCharacterControllerNode::get_ghost() const’ used but never defined [enabled by default]
   INLINE virtual btPairCachingGhostObject *get_ghost() const = 0;
                                            ^
panda/src/bullet/bulletBaseCharacterControllerNode.h:47:50: warning: inline function ‘virtual btCharacterControllerInterface* BulletBaseCharacterControllerNode::get_character() const’ used but never defined [enabled by default]
   INLINE virtual btCharacterControllerInterface *get_character() const = 0;
                                                  ^
Storing dependency cache.
Elapsed Time: 1 min 20 sec
The following command returned a non-zero value: g++ -ftemplate-depth-30 -fPIC -c -o built/tmp/p3bullet_composite.o -Ibuilt/tmp -Ibuilt/include -I/usr/include/python2.7 -I/usr/include/bullet -DMAKEPANDA= -Ipanda/src/bullet -pthread -msse2 -O2 -DBUILDING_PANDABULLET panda/src/bullet/p3bullet_composite.cxx
Build terminated.

Look at the thread one below your thread: makepanda fails with bullet 2.81

Yes i looked at it but I read it wrong :blush: and I mean I must use your CVS repo. And I can’t find bullet 2.80 for Fedora 19, So I used 2.79 for Fedora 14. It works :smiley: , so thanks. Can I have another question? How can I checkout your CVS repo. I don’nt know what is modulename.

The Panda3D CVS repository is located at SourceForge:
sourceforge.net/p/panda3d/code/?source=navbar