Index: /ogreode/fix_and_remove_demos.patch
===================================================================
--- /ogreode/fix_and_remove_demos.patch	(revision 22)
+++ /ogreode/fix_and_remove_demos.patch	(revision 22)
@@ -0,0 +1,100 @@
+diff -upNr ogreode/Makefile.am ogreode-patched/Makefile.am
+--- ogreode/Makefile.am	2006-12-20 14:09:22.000000000 +0100
++++ ogreode-patched/Makefile.am	2008-03-02 16:17:31.000000000 +0100
+@@ -1,4 +1,4 @@
+-SUBDIRS = include src prefab loader demos
++SUBDIRS = include src prefab loader
+ 
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = OgreOde_Core.pc OgreOde_Prefab.pc OgreOde_Loader.pc
+diff -upNr ogreode/src/OgreOdeBody.cpp ogreode-patched/src/OgreOdeBody.cpp
+--- ogreode/src/OgreOdeBody.cpp	2007-10-19 16:19:08.000000000 +0200
++++ ogreode-patched/src/OgreOdeBody.cpp	2008-03-02 16:16:49.000000000 +0100
+@@ -520,7 +520,7 @@ int Body::getJointCount()
+ //-----------------------------------------------------------------------
+ Joint* Body::getJoint(int index)
+ {
+-	return (Joint*)_world->getJointList().findItem((unsigned int)dBodyGetJoint(_body,index)); 
++	return (Joint*)_world->getJointList().findItem((long unsigned int)dBodyGetJoint(_body,index)); 
+ }
+ //-----------------------------------------------------------------------
+ size_t Body::getGeometryCount()
+@@ -717,7 +717,7 @@ Body::~Body()
+ 	destroyDebugNode();
+ 	delete _mass;
+ 
+-	_world->getBodyList().unregisterItem((unsigned int)_body);
++	_world->getBodyList().unregisterItem((long unsigned int)_body);
+ 	dBodyDestroy(_body);
+ }
+ 
+@@ -852,4 +852,4 @@ bool Body::collidePlaneBounds(void* data
+ 
+     }
+     return collided;
+-}
+\ No newline at end of file
++}
+diff -upNr ogreode/src/OgreOdeGeometry.cpp ogreode-patched/src/OgreOdeGeometry.cpp
+--- ogreode/src/OgreOdeGeometry.cpp	2006-12-18 14:33:21.000000000 +0100
++++ ogreode-patched/src/OgreOdeGeometry.cpp	2008-03-02 16:16:49.000000000 +0100
+@@ -211,7 +211,7 @@ void Geometry::setDebugContact(const boo
+     {
+         _debug_contacts = new DebugContact*[_max_contacts];
+         for (unsigned int i = 0; i < _max_contacts; i++)
+-            _debug_contacts[i] = new DebugContact(Ogre::StringConverter::toString((int)_geom) + 
++            _debug_contacts[i] = new DebugContact(Ogre::StringConverter::toString(_geom) + 
+                                                     "_Contact_" + 
+                                                     Ogre::StringConverter::toString(i),
+                                                     _world);
+@@ -273,7 +273,7 @@ const AxisAlignedBox& Geometry::getAxisA
+ //------------------------------------------------------------------------------------------------
+ Space* Geometry::getSpace()
+ {
+-	return (Space*)_world->getSpaceList().findItem((unsigned int)dGeomGetSpace(_geom));
++	return (Space*)_world->getSpaceList().findItem((long unsigned int)dGeomGetSpace(_geom));
+ }
+ 
+ 
+@@ -425,7 +425,7 @@ void Geometry::setMaxContacts(unsigned i
+         }
+         _debug_contacts = new DebugContact*[max_contacts];
+         for (unsigned int i = 0; i < max_contacts; i++)
+-            _debug_contacts[i] = new DebugContact(Ogre::StringConverter::toString((int)_geom) +  + "_Contact_" + Ogre::StringConverter::toString(i),
++            _debug_contacts[i] = new DebugContact(Ogre::StringConverter::toString(_geom) +  + "_Contact_" + Ogre::StringConverter::toString(i),
+             _world);
+     }
+     _max_contacts = max_contacts;
+diff -upNr ogreode/src/OgreOdeJoint.cpp ogreode-patched/src/OgreOdeJoint.cpp
+--- ogreode/src/OgreOdeJoint.cpp	2007-10-26 14:17:36.000000000 +0200
++++ ogreode-patched/src/OgreOdeJoint.cpp	2008-03-02 16:16:49.000000000 +0100
+@@ -25,7 +25,7 @@ dJointGroupID JointGroup::getJointGroupI
+ 
+ unsigned long JointGroup::getID()
+ {
+-	return (unsigned long)_joint_group;
++	return (long unsigned long)_joint_group;
+ }
+ 
+ void JointGroup::empty()
+@@ -35,7 +35,7 @@ void JointGroup::empty()
+ 
+ JointGroup::~JointGroup()
+ {
+-	_world->getJointGroupList().unregisterItem((unsigned int)_joint_group);
++	_world->getJointGroupList().unregisterItem((long unsigned int)_joint_group);
+ 	dJointGroupDestroy(_joint_group); 
+ }
+ 
+diff -upNr ogreode/src/OgreOdeSpace.cpp ogreode-patched/src/OgreOdeSpace.cpp
+--- ogreode/src/OgreOdeSpace.cpp	2007-10-19 16:19:08.000000000 +0200
++++ ogreode-patched/src/OgreOdeSpace.cpp	2008-03-02 16:16:49.000000000 +0100
+@@ -62,7 +62,7 @@ int Space::getGeometryCount()
+ //------------------------------------------------------------------------------------------------
+ Geometry* Space::getGeometry(int index)
+ {
+-	return (Geometry*) _world->getGeometryList().findItem((unsigned int)dSpaceGetGeom(_space,index)); 
++	return (Geometry*) _world->getGeometryList().findItem((long unsigned int)dSpaceGetGeom(_space,index)); 
+ }
+ //------------------------------------------------------------------------------------------------
+ void Space::registerSpace()
