Another ogreode linux compile problem

sudarshan85

30-08-2009 21:43:06

Hi,

Before I post my problem, please note that I have been through the entire forum and have come across a lot of posts regarding compilation problems. Unfortunately, I have been unable to find solutions that are useful to my current problem.

My setup: Running Ubuntu 8.04, on a Toshiba laptop.

I have installed OGRE 1.6.3 which was downloaded through svn via this link [url=svn co https://svn.ogre3d.org/svnroot/ogre/branches/v1-6[url]https://svn.ogre3d.org/svnroot/ogre/branches/v1-6 ogre. This was built from source.

I have installed ODE 0.9 which was downloaded through svn via this link [url=svn co https://opende.svn.sourceforge.net/svnroot/opende[url]https://opende.svn.sourceforge.net/svnroot/opende opende. This was also built from source.

Then I downloaded ogreode (I am not sure about the version) through svn via this link https://ogreaddons.svn.sourceforge.net/svnroot/ogreaddons/trunk/ogreode/. The autogen.sh and configure scripts ran without any problems. However, during the make stage I ran into problems. I am posting the output:


make all-recursive
make[1]: Entering directory `/home/sudarshan/src/ogre/ogreode'
Making all in include
make[2]: Entering directory `/home/sudarshan/src/ogre/ogreode/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/sudarshan/src/ogre/ogreode/include'
Making all in src
make[2]: Entering directory `/home/sudarshan/src/ogre/ogreode/src'
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeBody.lo -MD -MP -MF .deps/OgreOdeBody.Tpo -c -o OgreOdeBody.lo OgreOdeBody.cpp
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeCollision.lo -MD -MP -MF .deps/OgreOdeCollision.Tpo -c -o OgreOdeCollision.lo OgreOdeCollision.cpp
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugObject.lo -MD -MP -MF .deps/OgreOdeDebugObject.Tpo -c -o OgreOdeDebugObject.lo OgreOdeDebugObject.cpp
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugContact.lo -MD -MP -MF .deps/OgreOdeDebugContact.Tpo -c -o OgreOdeDebugContact.lo OgreOdeDebugContact.cpp
mkdir .libs
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugObject.lo -MD -MP -MF .deps/OgreOdeDebugObject.Tpo -c OgreOdeDebugObject.cpp -fPIC -DPIC -o .libs/OgreOdeDebugObject.o
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugContact.lo -MD -MP -MF .deps/OgreOdeDebugContact.Tpo -c OgreOdeDebugContact.cpp -fPIC -DPIC -o .libs/OgreOdeDebugContact.o
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeCollision.lo -MD -MP -MF .deps/OgreOdeCollision.Tpo -c OgreOdeCollision.cpp -fPIC -DPIC -o .libs/OgreOdeCollision.o
In file included from OgreOdeDebugContact.cpp:15:
../include/OgreOdeDebugContact.h:154:7: warning: no newline at end of file
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeBody.lo -MD -MP -MF .deps/OgreOdeBody.Tpo -c OgreOdeBody.cpp -fPIC -DPIC -o .libs/OgreOdeBody.o
OgreOdeCollision.cpp:323:99: warning: no newline at end of file
OgreOdeBody.cpp:854:2: warning: no newline at end of file
In file included from ../include/OgreOdeDebugObject.h:4,
from OgreOdeDebugObject.cpp:4:
../include/OgreOdePreReqs.h:35: error: ‘dTriIndex’ does not name a type
In file included from ../include/OgreOdeDebugContact.h:13,
from OgreOdeDebugContact.cpp:15:
../include/OgreOdePreReqs.h:35: error: ‘dTriIndex’ does not name a type
In file included from ../include/OgreOdeGeometry.h:7,
from OgreOdeDebugContact.cpp:17:
../include/OgreOdeTriangleMeshData.h:18: error: expected ‘,’ or ‘...’ before ‘*’ token
../include/OgreOdeTriangleMeshData.h:18: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:30: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:30: error: expected ‘;’ before ‘*’ token
../include/OgreOdeTriangleMeshData.h:32: error: expected `;' before ‘unsigned’
../include/OgreOdeTriangleMeshData.h:42: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:42: error: expected ‘;’ before ‘*’ token
In file included from OgreOdeDebugContact.cpp:17:
../include/OgreOdeGeometry.h:388: error: expected ‘,’ or ‘...’ before ‘*’ token
../include/OgreOdeGeometry.h:391: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
make[2]: *** [OgreOdeDebugObject.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../include/OgreOdeWorld.h:4,
from OgreOdeBody.cpp:4:
../include/OgreOdePreReqs.h:35: error: ‘dTriIndex’ does not name a type
In file included from ../include/OgreOdeCollision.h:4,
from OgreOdeCollision.cpp:4:
../include/OgreOdePreReqs.h:35: error: ‘dTriIndex’ does not name a type
In file included from OgreOdeCollision.cpp:5:
../include/OgreOdeSpace.h:19: error: ‘dSweepAndPruneSpaceClass’ was not declared in this scope
../include/OgreOdeSpace.h:102: error: ‘dSAP_AXES_XYZ’ was not declared in this scope
../include/OgreOdeSpace.h:103: error: ‘dSAP_AXES_XZY’ was not declared in this scope
../include/OgreOdeSpace.h:104: error: ‘dSAP_AXES_YXZ’ was not declared in this scope
../include/OgreOdeSpace.h:105: error: ‘dSAP_AXES_YZX’ was not declared in this scope
../include/OgreOdeSpace.h:106: error: ‘dSAP_AXES_ZXY’ was not declared in this scope
../include/OgreOdeSpace.h:107: error: ‘dSAP_AXES_ZYX’ was not declared in this scope
In file included from ../include/OgreOdeGeometry.h:7,
from OgreOdeCollision.cpp:6:
../include/OgreOdeTriangleMeshData.h:18: error: expected ‘,’ or ‘...’ before ‘*’ token
../include/OgreOdeTriangleMeshData.h:18: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:30: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:30: error: expected ‘;’ before ‘*’ token
../include/OgreOdeTriangleMeshData.h:32: error: expected `;' before ‘unsigned’
../include/OgreOdeTriangleMeshData.h:42: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:42: error: expected ‘;’ before ‘*’ token
In file included from OgreOdeCollision.cpp:6:
../include/OgreOdeGeometry.h:388: error: expected ‘,’ or ‘...’ before ‘*’ token
../include/OgreOdeGeometry.h:391: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
In file included from ../include/OgreOdeGeometry.h:7,
from OgreOdeBody.cpp:8:
../include/OgreOdeTriangleMeshData.h:18: error: expected ‘,’ or ‘...’ before ‘*’ token
../include/OgreOdeTriangleMeshData.h:18: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:30: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:30: error: expected ‘;’ before ‘*’ token
../include/OgreOdeTriangleMeshData.h:32: error: expected `;' before ‘unsigned’
../include/OgreOdeTriangleMeshData.h:42: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
../include/OgreOdeTriangleMeshData.h:42: error: expected ‘;’ before ‘*’ token
In file included from OgreOdeBody.cpp:8:
../include/OgreOdeGeometry.h:388: error: expected ‘,’ or ‘...’ before ‘*’ token
../include/OgreOdeGeometry.h:391: error: ISO C++ forbids declaration of ‘TriangleIndex’ with no type
make[2]: *** [OgreOdeDebugContact.lo] Error 1
make[2]: *** [OgreOdeCollision.lo] Error 1
make[2]: *** [OgreOdeBody.lo] Error 1
make[2]: Leaving directory `/home/sudarshan/src/ogre/ogreode/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sudarshan/src/ogre/ogreode'
make: *** [all] Error 2


Please note this part:

In file included from ../include/OgreOdeDebugObject.h:4,
from OgreOdeDebugObject.cpp:4:
../include/OgreOdePreReqs.h:35: error: ‘dTriIndex’ does not name a type


This is where the errors start. Any help in resolving these errors is greatly appreciated.

Thanks.

sudarshan85

31-08-2009 00:24:06

Hi,

Just an update in case anyone is following this post. I looked over OgreOdePreReqs.h in the include directory. There was this piece of code:


#ifndef dTriIndex
#if dTRIMESH_16BIT_INDICES
#if dTRIMESH_GIMPACT
typedef uint32 dTriIndex;
#else // dTRIMESH_GIMPACT
typedef uint16 dTriIndex;
#endif // dTRIMESH_GIMPACT
#else // dTRIMESH_16BIT_INDICES
typedef int dTriIndex;
#endif // dTRIMESH_16BIT_INDICES
#endif


This was commented out. So I uncommented it and ran make...and voila! that error disappeared (although I am sure whether what I did might have consequences later). Anyway, I now have a new error in the make process:


make all-recursive
make[1]: Entering directory `/home/sudarshan/src/ogre/ogreode'
Making all in include
make[2]: Entering directory `/home/sudarshan/src/ogre/ogreode/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/sudarshan/src/ogre/ogreode/include'
Making all in src
make[2]: Entering directory `/home/sudarshan/src/ogre/ogreode/src'
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeBody.lo -MD -MP -MF .deps/OgreOdeBody.Tpo -c -o OgreOdeBody.lo OgreOdeBody.cpp
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeCollision.lo -MD -MP -MF .deps/OgreOdeCollision.Tpo -c -o OgreOdeCollision.lo OgreOdeCollision.cpp
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugObject.lo -MD -MP -MF .deps/OgreOdeDebugObject.Tpo -c -o OgreOdeDebugObject.lo OgreOdeDebugObject.cpp
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugContact.lo -MD -MP -MF .deps/OgreOdeDebugContact.Tpo -c -o OgreOdeDebugContact.lo OgreOdeDebugContact.cpp
mkdir .libs
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeCollision.lo -MD -MP -MF .deps/OgreOdeCollision.Tpo -c OgreOdeCollision.cpp -fPIC -DPIC -o .libs/OgreOdeCollision.o
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugContact.lo -MD -MP -MF .deps/OgreOdeDebugContact.Tpo -c OgreOdeDebugContact.cpp -fPIC -DPIC -o .libs/OgreOdeDebugContact.o
OgreOdeCollision.cpp:323:99: warning: no newline at end of file
In file included from OgreOdeDebugContact.cpp:15:
../include/OgreOdeDebugContact.h:154:7: warning: no newline at end of file
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeBody.lo -MD -MP -MF .deps/OgreOdeBody.Tpo -c OgreOdeBody.cpp -fPIC -DPIC -o .libs/OgreOdeBody.o
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugObject.lo -MD -MP -MF .deps/OgreOdeDebugObject.Tpo -c OgreOdeDebugObject.cpp -fPIC -DPIC -o .libs/OgreOdeDebugObject.o
OgreOdeBody.cpp:854:2: warning: no newline at end of file
In file included from OgreOdeCollision.cpp:5:
../include/OgreOdeSpace.h:19: error: ‘dSweepAndPruneSpaceClass’ was not declared in this scope
../include/OgreOdeSpace.h:102: error: ‘dSAP_AXES_XYZ’ was not declared in this scope
../include/OgreOdeSpace.h:103: error: ‘dSAP_AXES_XZY’ was not declared in this scope
../include/OgreOdeSpace.h:104: error: ‘dSAP_AXES_YXZ’ was not declared in this scope
../include/OgreOdeSpace.h:105: error: ‘dSAP_AXES_YZX’ was not declared in this scope
../include/OgreOdeSpace.h:106: error: ‘dSAP_AXES_ZXY’ was not declared in this scope
../include/OgreOdeSpace.h:107: error: ‘dSAP_AXES_ZYX’ was not declared in this scope
make[2]: *** [OgreOdeCollision.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugContact.lo -MD -MP -MF .deps/OgreOdeDebugContact.Tpo -c OgreOdeDebugContact.cpp -o OgreOdeDebugContact.o >/dev/null 2>&1
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeBody.lo -MD -MP -MF .deps/OgreOdeBody.Tpo -c OgreOdeBody.cpp -o OgreOdeBody.o >/dev/null 2>&1
g++ -DHAVE_CONFIG_H -I. -I.. -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE -I../include -g -O2 -MT OgreOdeDebugObject.lo -MD -MP -MF .deps/OgreOdeDebugObject.Tpo -c OgreOdeDebugObject.cpp -o OgreOdeDebugObject.o >/dev/null 2>&1
mv -f .deps/OgreOdeBody.Tpo .deps/OgreOdeBody.Plo
mv -f .deps/OgreOdeDebugContact.Tpo .deps/OgreOdeDebugContact.Plo
mv -f .deps/OgreOdeDebugObject.Tpo .deps/OgreOdeDebugObject.Plo
make[2]: Leaving directory `/home/sudarshan/src/ogre/ogreode/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sudarshan/src/ogre/ogreode'


In particular please note this part:

In file included from OgreOdeCollision.cpp:5:
../include/OgreOdeSpace.h:19: error: ‘dSweepAndPruneSpaceClass’ was not declared in this scope
../include/OgreOdeSpace.h:102: error: ‘dSAP_AXES_XYZ’ was not declared in this scope
../include/OgreOdeSpace.h:103: error: ‘dSAP_AXES_XZY’ was not declared in this scope
../include/OgreOdeSpace.h:104: error: ‘dSAP_AXES_YXZ’ was not declared in this scope
../include/OgreOdeSpace.h:105: error: ‘dSAP_AXES_YZX’ was not declared in this scope
../include/OgreOdeSpace.h:106: error: ‘dSAP_AXES_ZXY’ was not declared in this scope
../include/OgreOdeSpace.h:107: error: ‘dSAP_AXES_ZYX’ was not declared in this scope
make[2]: *** [OgreOdeCollision.lo] Error 1


I am going to try and dig into the source to find a solution. But in the meantime, as always any help on this matter is appreciated.

Thanks.

dermont

03-09-2009 02:27:08

Updating to a newer version of ode (0.11.1) should fix your problems.