Guide to compile OgreNewt 2.0 with Newton 2.18 on Linux

SFCBias

05-04-2010 17:06:08

Ok so i've been doing some work to get OgreNewt compiled with Newton 2.18 and Ogre 1.7.0 Final.

UPDATE GOTO NEW POST

SuperNoa

05-04-2010 23:50:58

Thank you for your solution, now it's possible to install ogrenewton, but there are some problems!

In /usr/local/include/OgreNewt there aren't 3 classes (OgreNewt_ConvexCast.h, OgreNewt_RayCastVehicle.h and OgreNewt_stdafx.h), so i take them from the original sources.

And when i try to compile one of the ogrenewton demo i have these errors:

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: ingresso nella directory «/home/antonello/NetBeansProjects/OgreApplication_1»
/usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/ogreapplication_1
make[2]: ingresso nella directory «/home/antonello/NetBeansProjects/OgreApplication_1»
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/OgreNewtonFrameListener.o.d
g++ -c -g -I/usr/local/include/OGRE -I/usr/include/OIS -I/usr/include/boost -I/usr/local/include/OgreNewt -I/usr/local/include/CEGUI -I/usr/local/include/CEGUI/RendererModules/Ogre -I/usr/local/include/SILLY -I../../applicationDevelopment/ogre_sources/newtonSDK/sdk -MMD -MP -MF build/Debug/GNU-Linux-x86/OgreNewtonFrameListener.o.d -o build/Debug/GNU-Linux-x86/OgreNewtonFrameListener.o OgreNewtonFrameListener.cpp
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/OgreNewtonApplication.o.d
g++ -c -g -I/usr/local/include/OGRE -I/usr/include/OIS -I/usr/include/boost -I/usr/local/include/OgreNewt -I/usr/local/include/CEGUI -I/usr/local/include/CEGUI/RendererModules/Ogre -I/usr/local/include/SILLY -I../../applicationDevelopment/ogre_sources/newtonSDK/sdk -MMD -MP -MF build/Debug/GNU-Linux-x86/OgreNewtonApplication.o.d -o build/Debug/GNU-Linux-x86/OgreNewtonApplication.o OgreNewtonApplication.cpp
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/demo01.o.d
g++ -c -g -I/usr/local/include/OGRE -I/usr/include/OIS -I/usr/include/boost -I/usr/local/include/OgreNewt -I/usr/local/include/CEGUI -I/usr/local/include/CEGUI/RendererModules/Ogre -I/usr/local/include/SILLY -I../../applicationDevelopment/ogre_sources/newtonSDK/sdk -MMD -MP -MF build/Debug/GNU-Linux-x86/demo01.o.d -o build/Debug/GNU-Linux-x86/demo01.o demo01.cpp
mkdir -p dist/Debug/GNU-Linux-x86
g++ -o dist/Debug/GNU-Linux-x86/ogreapplication_1 build/Debug/GNU-Linux-x86/OgreNewtonFrameListener.o build/Debug/GNU-Linux-x86/OgreNewtonApplication.o build/Debug/GNU-Linux-x86/demo01.o -lOgreMain -lOIS -lOgreNewt -lCEGUIBase -lCEGUIOgreRenderer -lSILLY -lNewton
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::CustomKinematicController(NewtonBody const*, dVector const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `NewtonCustomJoint::operator delete(void*)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::SetPickMode(int)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomUpVector::SetPinDir(dVector const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomHinge::EnableLimits(bool)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomHinge::CustomHinge(dMatrix const&, NewtonBody const*, NewtonBody const*)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomHinge::SetLimis(float, float)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::GetPlayerStairHeight() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::SetTargetMatrix(dMatrix const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomSlider::CustomSlider(dMatrix const&, NewtonBody const*, NewtonBody const*)'
/usr/local/lib/libOgreNewt.so: undefined reference to `NewtonCustomJoint::GetBody1() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomSlider::SetLimis(float, float)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomSlider::EnableLimits(bool)'
/usr/local/lib/libOgreNewt.so: undefined reference to `NewtonCustomJoint::GetBody0() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::CustomPlayerController(dMatrix const&, NewtonBody const*, float, float)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomHinge::GetJointOmega() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomBallAndSocket::CustomBallAndSocket(dMatrix const&, NewtonBody const*, NewtonBody const*)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomHinge::GetJointAngle() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomHinge::GetPinAxis() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `dgGrammSchmidt(dVector const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::GetVelocity(float&, float&, float&) const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::SetTargetRotation(dQuaternion const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::SetMaxLinearFriction(float)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::SetMaxAngularFriction(float)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::SetVelocity(float, float, float)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::GetSensorShape() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::SetTargetPosit(dVector const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `NewtonCustomJoint::operator new(unsigned long)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomKinematicController::GetTargetMatrix() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomUpVector::CustomUpVector(dVector const&, NewtonBody*)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::GetStairStepShape() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomPlayerController::GetPlayerHeight() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `NewtonCustomJoint::GetJoint() const'
/usr/local/lib/libOgreNewt.so: undefined reference to `dMatrix::dMatrix(dQuaternion const&, dVector const&)'
/usr/local/lib/libOgreNewt.so: undefined reference to `CustomUserBlank::CustomUserBlank(unsigned int, NewtonBody const*, NewtonBody const*)'
collect2: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/ogreapplication_1] Errore 1
make[2]: uscita dalla directory «/home/antonello/NetBeansProjects/OgreApplication_1»
make[1]: *** [.build-conf] Errore 2
make[1]: uscita dalla directory «/home/antonello/NetBeansProjects/OgreApplication_1»
make: *** [.build-impl] Errore 2
BUILD FAILED (exit value 2, total time: 12s)


Can you try to compile a tutorial, so can we see if you have the same problem?
Another question, what have you done to make ogrenewton installable, maybe it can useful to know for the ogrenetown developers?
Thanks for all, have a nice day!

NQ

08-04-2010 22:49:01

Yeah! SFCBias you are a great person! Thank you very much, this was muchly appreciated.
Hint: You accidentally included the newton20/build directory, so I had to remove it, else it gave me errors.

Entelin

17-04-2010 01:04:25

what all did you need to change?

SFCBias

18-04-2010 20:20:41

Im sorry it took me so long to respond to this but i've been very busy lately with more important things (school, and other prior engagements etc.) but i may have fixed the OgreNewt library linker errors that were coming up before this time i will release a precompiled version along with the project in eclipse i used to recompile OgreNewt

You can get that here or in the first post which has been edited to point to the most current download.

Read the README file!!