So, Since the dump the topic regarding compiling ogreode on linux seems to have been lost, so I'll ask again:
Any tips on getting ogreode to compile on linux? I've seen a few "edit this here, change that there" posts before, (which are lost now) and there were some patches/makefiles floating around? pretty please anyone with a decent patch/makefile/source tree that will compilie without too much headache on linux, post it here, since last time the links were dead by time I got here, I'll mirror them, once on my server, once on a friends, (next week, he's getting a new mobo)
Compiling ogreode on linux?
- Grey
- Greenskin
- Posts: 137
- Joined: Wed Mar 09, 2005 4:28 am
- Location: Ontario, Canada
- Contact:
-
- Bugbear
- Posts: 812
- Joined: Thu Dec 09, 2004 2:51 am
- x 42
This is how I got it to work:
1. Download Monsters OgreOde 1.00 Final , rastaman's makefiles from:
http://www.green-eyed-monster.com/xoops ... downloads/
http://www.ceejs.com/eric/ogreode.makefiles.tgz
2. Follow the steps in $ODE_TOP/OgreOde_OGRE.txt
3. Extract OgreOde 1.00 in the same directory as ogrenew and rename to ogreode. Extract rastaman's makefile from the directory above ogreode and rename back to OgreOde
4.. Edit /ode-0.5/ode/src/dTerrainCallback.cpp and replace
//#include "windows.h"
//#include "ode\ode.h"
#include "ode/ode.h"
5. Compile ode
edit $ODE_TOP/ode-0.5/config/user-settings and set
PLATFORM=unix-gcc
cd $ODE_TOP/ode-0.5 ; make ; cp $ODE_TOP/ode-0.5/lib/libode.a /usr/local/lib ; ldconfig
6. Edit the following files:
- $ODE_TOP/prefab/src/Makeile.am and add line OgreOdeRagdoll.cpp \
- $ODE_TOP/prefab/src/OgreOdeVehicle.cpp
Quaternion wheel_rot = Quaternion(Radian(getSteer()),wheel_up);
//Quaternion wheel_rot = Quaternion(Radian(getSteer()),wheel_up);
- $ODE_TOP/ogreode/prefab/src/OgreOdeRagdoll.cpp
//Ragdoll::Ragdoll(const String& name, const String& mesh, SceneManager* creator):
// Entity(name,MeshManager::getSingleton().load(mesh,ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME),creator),
// PrefabObject(OgreOde_Prefab::ObjectType_Ragdoll)
Ragdoll::Ragdoll(const String& name, MeshPtr& ptr, SceneManager* creator):Entity(name,ptr,creator),
PrefabObject(OgreOde_Prefab::ObjectType_Ragdoll)
- $ODE_TOP/ogreode/prefab/include/OgreOdeRagdoll.h
//Ragdoll::Collapse _collapse;
Collapse _collapse;
//Ragdoll(const String& name, const String& mesh, SceneManager* creator);
Ragdoll(const String& name, MeshPtr& ptr, SceneManager* creator);
- $ODE_TOP/demos/SimpleScenes/include/SimpleScenes_Zombie.h
//_zombie_ragdoll = new OgreOde_Prefab::Ragdoll("zombie" + StringConverter::toString(_zombie_count),"zombie_small.mesh",_mgr);
MeshPtr ptr = MeshManager::getSingleton().load("zombie_small.mesh",ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
_zombie_ragdoll = new OgreOde_Prefab::Ragdoll("zombie" + StringConverter::toString(_zombie_count),ptr,_mgr);
6. From $ODE_TOP
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./bootstrap ; ./configure ; make ; make install (as root)
1. Download Monsters OgreOde 1.00 Final , rastaman's makefiles from:
http://www.green-eyed-monster.com/xoops ... downloads/
http://www.ceejs.com/eric/ogreode.makefiles.tgz
2. Follow the steps in $ODE_TOP/OgreOde_OGRE.txt
3. Extract OgreOde 1.00 in the same directory as ogrenew and rename to ogreode. Extract rastaman's makefile from the directory above ogreode and rename back to OgreOde
4.. Edit /ode-0.5/ode/src/dTerrainCallback.cpp and replace
//#include "windows.h"
//#include "ode\ode.h"
#include "ode/ode.h"
5. Compile ode
edit $ODE_TOP/ode-0.5/config/user-settings and set
PLATFORM=unix-gcc
cd $ODE_TOP/ode-0.5 ; make ; cp $ODE_TOP/ode-0.5/lib/libode.a /usr/local/lib ; ldconfig
6. Edit the following files:
- $ODE_TOP/prefab/src/Makeile.am and add line OgreOdeRagdoll.cpp \
- $ODE_TOP/prefab/src/OgreOdeVehicle.cpp
Quaternion wheel_rot = Quaternion(Radian(getSteer()),wheel_up);
//Quaternion wheel_rot = Quaternion(Radian(getSteer()),wheel_up);
- $ODE_TOP/ogreode/prefab/src/OgreOdeRagdoll.cpp
//Ragdoll::Ragdoll(const String& name, const String& mesh, SceneManager* creator):
// Entity(name,MeshManager::getSingleton().load(mesh,ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME),creator),
// PrefabObject(OgreOde_Prefab::ObjectType_Ragdoll)
Ragdoll::Ragdoll(const String& name, MeshPtr& ptr, SceneManager* creator):Entity(name,ptr,creator),
PrefabObject(OgreOde_Prefab::ObjectType_Ragdoll)
- $ODE_TOP/ogreode/prefab/include/OgreOdeRagdoll.h
//Ragdoll::Collapse _collapse;
Collapse _collapse;
//Ragdoll(const String& name, const String& mesh, SceneManager* creator);
Ragdoll(const String& name, MeshPtr& ptr, SceneManager* creator);
- $ODE_TOP/demos/SimpleScenes/include/SimpleScenes_Zombie.h
//_zombie_ragdoll = new OgreOde_Prefab::Ragdoll("zombie" + StringConverter::toString(_zombie_count),"zombie_small.mesh",_mgr);
MeshPtr ptr = MeshManager::getSingleton().load("zombie_small.mesh",ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
_zombie_ragdoll = new OgreOde_Prefab::Ragdoll("zombie" + StringConverter::toString(_zombie_count),ptr,_mgr);
6. From $ODE_TOP
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./bootstrap ; ./configure ; make ; make install (as root)
- monster
- OGRE Community Helper
- Posts: 1098
- Joined: Mon Sep 22, 2003 2:40 am
- Location: Melbourne, Australia
- Contact:
- Grey
- Greenskin
- Posts: 137
- Joined: Wed Mar 09, 2005 4:28 am
- Location: Ontario, Canada
- Contact:
I made a few updates to the ogreode.sh script, I had some problems figuring out what was happening where, so I added some lines to let the user know what's up, I also made it check for the existance of ode-0.5.tgz before continuing to delete and reinstall/patch the ode directory, finally, I changed the order of a few things in there, so it will patch Ogre, then build and install it, then build and install OgreOde, rather than patch Ogre, then try to build OgreOde before rebuilding Ogre.
I dunno if it'll help anyone, and I'd appreciate feedback, so I'll post a link here,
just download OgreOde-1.0.1 from Monster's site, and extract it all as usual, then copy ogreode.sh to ogrenew/OgreOde/scripts/Linux/ and run it from there.
you can get it here: http://grevian.org/~grey/files/ogreode.sh
Also, uhh... make a backup of the original ogreode.sh first, in case mine bombs out terribly, finally, THANK YOU PABLO, I'm assuming it was you who made those .diff files? They are awesome, and saved me a ton of headache.
I dunno if it'll help anyone, and I'd appreciate feedback, so I'll post a link here,
just download OgreOde-1.0.1 from Monster's site, and extract it all as usual, then copy ogreode.sh to ogrenew/OgreOde/scripts/Linux/ and run it from there.
you can get it here: http://grevian.org/~grey/files/ogreode.sh
Also, uhh... make a backup of the original ogreode.sh first, in case mine bombs out terribly, finally, THANK YOU PABLO, I'm assuming it was you who made those .diff files? They are awesome, and saved me a ton of headache.
-
- Gnoblar
- Posts: 10
- Joined: Fri Mar 04, 2005 1:41 pm
-
- Gnoblar
- Posts: 13
- Joined: Sat May 28, 2005 12:39 am
Following the instructions exactly and using the ogreode.sh included in the archive, it bombs out when compiling the ogreode demos (ODE seems to compile fine):
Any idea why this is happening?
Code: Select all
g++ -g -O2 -DGCC_3_1 -DEXT_HASH -I/usr/local/include/OGRE -o .libs/SimpleScenes SimpleScenes-SimpleScenesApplication.o SimpleScenes-SimpleScenes.o SimpleScenes-tinystr.o SimpleScenes-tinyxml.o SimpleScenes-tinyxmlerror.o SimpleScenes-tinyxmlparser.o -L/usr/local/lib -L/home/gene/Projects/ogrenew/OgreOde_1-0-1/src -L/home/gene/Projects/ogrenew/OgreOde_1-0-1/prefab/src /usr/local/lib/libOgreMain.so /home/gene/Projects/ogrenew/OgreOde_1-0-1/src/.libs/libOgreOde_Core.so /home/gene/Projects/ogrenew/OgreOde_1-0-1/prefab/src/.libs/libOgreOde_Prefab.so -Wl,--rpath -Wl,/usr/local/lib
/home/gene/Projects/ogrenew/OgreOde_1-0-1/src/.libs/libOgreOde_Core.so: undefined reference to `typeinfo for Ogre::MovableObject'
/home/gene/Projects/ogrenew/OgreOde_1-0-1/src/.libs/libOgreOde_Core.so: undefined reference to `typeinfo for Ogre::SimpleRenderable'
/home/gene/Projects/ogrenew/OgreOde_1-0-1/prefab/src/.libs/libOgreOde_Prefab.so: undefined reference to `typeinfo for Ogre::Entity'
collect2: ld returned 1 exit status
make[4]: *** [SimpleScenes] Error 1
make[4]: Leaving directory `/home/gene/Projects/ogrenew/OgreOde_1-0-1/demos/SimpleScenes/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/gene/Projects/ogrenew/OgreOde_1-0-1/demos/SimpleScenes'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/gene/Projects/ogrenew/OgreOde_1-0-1/demos'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gene/Projects/ogrenew/OgreOde_1-0-1'
make: *** [all] Error 2