LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 08-06-2012, 12:50 AM   #1
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Rep: Reputation: Disabled
Angry Does any physics engine work on linux (alongside a 3D engine)?


I have spent a great deal of time trying to get ANY of the following to work under (ubuntu 12.04lts) linux with no success for even the examples (with physics and 3D) that come with each. Rather, I get one error after another. Ogre, irrlicht, and bullet all seem to kind-of / almost work but only when alone.
  • Irrlicht with bullet
  • Irrlicht with ODE
  • Irrlicht with PAL + ODE
  • Irrlicht with PAL + Bullet
  • Irrlicht with irrBullet + Bullet
  • Irrlicht with irrOde + ode
  • OGRE with ODE
  • OGRE with bullet
    etc

These have been downloaded from both source and through apt-get. If both methods were available, both were tried. Multiple computers used - hardware unlikely a reason.

I am ready to leave Linux as a game platform, dropping all support. While Linux is solid for general desktop and server use, it seems to have failed me for videogame development. On the other hand, win32 supported all of this more-or-less, which I don't like admitting after nearly a decade of (all but) exclusive Linux use.

sites are irrlicht, pal, ogre, bullet, ode

Some posts on other sites include: here, here, and here


Any ideas?
 
Old 08-06-2012, 05:43 AM   #2
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
So is it Linux or Ubuntu that you wish to drop ? They are NOT the same you know.

PAL may not compile because you have the svn version, these are not guaranteed to compile. Not to mention that it is beta software. Irrlicht and ODE should compile, what errors do you get there ?

On Ubuntu you should use the distro packages as much as possible, rather than compiling stuff yourself. If you plan on compiling many things from source, maybe you should try another distro.

Last edited by H_TeXMeX_H; 08-06-2012 at 07:59 AM.
 
Old 08-06-2012, 06:07 AM   #3
414N
Member
 
Registered: Sep 2011
Location: Italy
Distribution: Slackware
Posts: 609

Rep: Reputation: 180Reputation: 180
Ubuntu comes with no header files installed by default, so it's perfectly normal -- if you're trying to compile something which requires library XYZ to compile -- that it can't be compiled because library XYZ headers could not be found, even if the library itself is installed on the system. You should install the relevant *-dev packages in order to compile from source.
You can install in one-shot every build dependency of a package with
Code:
apt-get build-dep PKG
where PKG is the name of the package for which you desire to install its build dependencies (i.e. libs and headers it needs in order to compile successfully). Of course PKG must be in the repository and a package for it must exist for apt to be able to find its build dependencies. Be aware that this can help you install all -dev packages needed to build PKG as is found in the repository, but, if you're trying to build a newer version of that software (e.g: from svn/git) or using different compile-time switches, it may not suffice.
Which were the errors that you encountered, by the way?
 
Old 08-06-2012, 10:40 AM   #4
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Original Poster
Rep: Reputation: Disabled
Unhappy

Some of the various errors that I have logs of:

ogre:
Code:
-------------- Build: Debug in ogre_test001 ---------------

Compiling: main.cpp
In file included from /usr/include/OGRE/ExampleApplication.h:26:0,
                 from /home/GENERIC_USR/Desktop/CODEBLOCKS_PROJECTS/ogre_test001/main.cpp:12:
/usr/include/OGRE/ExampleFrameListener.h:51:21: fatal error: OIS/OIS.h: No such file or directory
compilation terminated.
Process terminated with status 1 (0 minutes, 5 seconds)
1 errors, 0 warnings

PAL:
Code:
    USR@USR-desktop:~/svn/pal/bin$ make
     
     
    Scanning dependencies of target libpal
    [  1%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/errorlog.cpp.o
    [  2%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/factoryconfig.cpp.o
    [  4%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/osfs.cpp.o
    [  5%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/os.cpp.o
    [  7%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/statusobject.cpp.o
    [  8%] Building CXX object pal/CMakeFiles/libpal.dir/pal.cpp.o
    [ 10%] Building CXX object pal/CMakeFiles/libpal.dir/palActuators.cpp.o
    [ 11%] Building CXX object pal/CMakeFiles/libpal.dir/palBodies.cpp.o
    [ 12%] Building CXX object pal/CMakeFiles/libpal.dir/palBodyBase.cpp.o
    [ 14%] Building CXX object pal/CMakeFiles/libpal.dir/palCollision.cpp.o
    [ 15%] Building CXX object pal/CMakeFiles/libpal.dir/palException.cpp.o
    [ 17%] Building CXX object pal/CMakeFiles/libpal.dir/palFactory.cpp.o
    [ 18%] Building CXX object pal/CMakeFiles/libpal.dir/palFluid.cpp.o
    [ 20%] Building CXX object pal/CMakeFiles/libpal.dir/palGeometry.cpp.o
    [ 21%] Building CXX object pal/CMakeFiles/libpal.dir/palLinks.cpp.o
    [ 22%] Building CXX object pal/CMakeFiles/libpal.dir/palMath.cpp.o
    [ 24%] Building CXX object pal/CMakeFiles/libpal.dir/palSensors.cpp.o
    [ 25%] Building CXX object pal/CMakeFiles/libpal.dir/palSolver.cpp.o
    [ 27%] Building CXX object pal/CMakeFiles/libpal.dir/palStatic.cpp.o
    [ 28%] Building CXX object pal/CMakeFiles/libpal.dir/palSoftBody.cpp.o
    [ 30%] Building CXX object pal/CMakeFiles/libpal.dir/palStringable.cpp.o
    [ 31%] Building CXX object pal/CMakeFiles/libpal.dir/palTerrain.cpp.

     
    [ 32%] Building CXX object pal/CMakeFiles/libpal.dir/palCharacter.cpp.o
    [ 34%] Building CXX object pal/CMakeFiles/libpal.dir/__/pal_i/hull.cpp.o
    Linking CXX shared library ../lib/libpal.so
    [ 34%] Built target libpal
    Scanning dependencies of target libpal_bullet
    [ 35%] Building CXX object pal_i/CMakeFiles/libpal_bullet.dir/bullet/bullet_pal.cpp.o
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In function ‘bool CustomMaterialCombinerCallback(btManifoldPoint&, const btCollisionObject*, int, int, const btCollisionObject*, int, int)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:219:66: error: cannot convert ‘const btCollisionObject*’ to ‘const btCollisionObjectWrapper*’ for argument ‘2’ to ‘void btAdjustInternalEdgeContacts(btManifoldPoint&, const btCollisionObjectWrapper*, const btCollisionObjectWrapper*, int, int, int)’
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual void palBulletPhysics::RayCast(Float, Float, Float, Float, Float, Float, Float, palRayHit&)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:370:72: error: invalid conversion from ‘const btRigidBody*’ to ‘btRigidBody*’ [-fpermissive]
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual btScalar palBulletCustomResultCallback::addSingleResult(btCollisionWorld::LocalRayResult&, bool)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:416:70: error: invalid conversion from ‘const btRigidBody*’ to ‘btRigidBody*’ [-fpermissive]
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual void palBulletPhysics::Init(const palPhysicsDesc&)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:761:28: 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]
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual void palBulletPhysics::StartIterate(Float)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:858:88: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:859:88: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
    make[2]: *** [pal_i/CMakeFiles/libpal_bullet.dir/bullet/bullet_pal.cpp.o] Error 1
    make[1]: *** [pal_i/CMakeFiles/libpal_bullet.dir/all] Error 2
    make: *** [all] Error 2

irrODE - after fixing all the wrong referenced include files with variously wrongly capitalised letters, such as irrOde.h,IrrODe.h, etc or making links and installing irrklang the unlisted dependency.


Code:
-------------- Build: Linux in IrrOdeCar ---------------

Compiling: ../source/IrrOdeCar/CAeroVehicle.cpp
Compiling: ../source/IrrOdeCar/CAutoPilot.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp: In member function ‘irr::f32 CAutoPilot::getRollControl(irr::f32, wchar_t*)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp:99:24: warning: variable ‘vAhf’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp: In member function ‘void CAutoPilot::step(irr::f32&, irr::f32&, irr::f32&, irr::f32&)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp:223:32: warning: variable ‘vxy’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp:223:52: warning: variable ‘vxz’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CCameraController.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCameraController.cpp: In member function ‘void CCameraController::update()’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCameraController.cpp:145:26: warning: variable ‘vPos’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CCar.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCar.cpp: In member function ‘virtual bool CCar::onEvent(irr::ode::IIrrOdeEvent*)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCar.cpp:193:26: warning: variable ‘vForeward’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CCockpitCar.cpp
Compiling: ../source/IrrOdeCar/CCockpitPlane.cpp
Compiling: ../source/IrrOdeCar/CConfigFileManager.cpp
Compiling: ../source/IrrOdeCar/CController.cpp
Compiling: ../source/IrrOdeCar/CCustomEventReceiver.cpp
Compiling: ../source/IrrOdeCar/CEventVehicleState.cpp
Compiling: ../source/IrrOdeCar/CGUINeedleIndicator.cpp
Compiling: ../source/IrrOdeCar/CHeli.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CHeli.cpp: In member function ‘virtual void CHeli::odeStep(irr::u32)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CHeli.cpp:31:24: warning: variable ‘rot’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CIrrOdeCarState.cpp
Compiling: ../source/IrrOdeCar/CIrrOdeCarTrack.cpp
Compiling: ../source/IrrOdeCar/CMenu.cpp
Compiling: ../source/IrrOdeCar/CMeshCombiner.cpp
Compiling: ../source/IrrOdeCar/CPlane.cpp
Compiling: ../source/IrrOdeCar/CProgressBar.cpp
Compiling: ../source/IrrOdeCar/CProjectile.cpp
Compiling: ../source/IrrOdeCar/CRandomForestNode.cpp
Compiling: ../source/IrrOdeCar/CRearView.cpp
Compiling: ../source/IrrOdeCar/CSettings.cpp
Compiling: ../source/IrrOdeCar/CTank.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp: In member function ‘virtual void CTank::activate()’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:95:24: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:96:28: warning: variable ‘up’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:97:28: warning: variable ‘tgt’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp: In member function ‘virtual irr::u32 CTank::update()’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:128:26: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:133:26: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:134:26: warning: variable ‘up’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:135:26: warning: variable ‘tgt’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CTargetSelector.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CConnection.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CRoadLoader.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CRoadMeshLoader.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CSegment.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CSurface.cpp
Compiling: ../source/IrrOdeCar/irrCC.cpp
Compiling: ../source/IrrOdeCar/irrodecar_main.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/irrodecar_main.cpp: In member function ‘virtual void CShaderCallBack::OnSetConstants(irr::video::IMaterialRendererServices*, irr::s32)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/irrodecar_main.cpp:63:23: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
Linking console executable: ../bin/Linux/IrrOdeCar
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::CAeroVehicle(irr::IrrlichtDevice*, irr::scene::ISceneNode*, CIrrCC*, CRearView*)':
CAeroVehicle.cpp:(.text+0x169): undefined reference to `irr::ode::CIrrOdeSceneNode::setUserData(void*)'
CAeroVehicle.cpp:(.text+0x212): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
CAeroVehicle.cpp:(.text+0x252): undefined reference to `irr::ode::CIrrOdeBody::getStepMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x27c): undefined reference to `irr::ode::CIrrOdeBody::getStepMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x2a6): undefined reference to `irr::ode::CIrrOdeBody::getStepMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x2d0): undefined reference to `irr::ode::CIrrOdeBody::getGeomFromName(char const*)'
CAeroVehicle.cpp:(.text+0x32b): undefined reference to `irr::ode::CIrrOdeBody::getMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x346): undefined reference to `typeinfo for irr::ode::CIrrOdeMotor'
CAeroVehicle.cpp:(.text+0x3a1): undefined reference to `irr::ode::CIrrOdeBody::getMotorFromName(char const*)'
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::~CAeroVehicle()':
CAeroVehicle.cpp:(.text+0x715): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::onEvent(irr::ode::IIrrOdeEvent*)':
CAeroVehicle.cpp:(.text+0xea9): undefined reference to `irr::ode::CIrrOdeMotor::setForce(float)'
CAeroVehicle.cpp:(.text+0xef6): undefined reference to `irr::ode::CIrrOdeMotor::setForce(float)'
CAeroVehicle.cpp:(.text+0xfda): undefined reference to `irr::ode::CIrrOdeBody::addForceAtPosition(irr::core::vector3d<float>, irr::core::vector3d<float>)'
CAeroVehicle.cpp:(.text+0x149c): undefined reference to `irr::ode::CIrrOdeServo::setServoPos(float)'
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::postShotEvent()':
CAeroVehicle.cpp:(.text+0x15a9): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAeroVehicle.cpp:(.text+0x15f2): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAeroVehicle.o:(.rodata._ZTIN3irr3ode12IIrrOdeMotorE[typeinfo for irr::ode::IIrrOdeMotor]+0x8): undefined reference to `typeinfo for irr::ode::CIrrOdeSceneNode'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::setTarget(irr::scene::ISceneNode*)':
CAutoPilot.cpp:(.text+0x397): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAutoPilot.cpp:(.text+0x404): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::step(float&, float&, float&, float&)':
CAutoPilot.cpp:(.text+0x19d3): undefined reference to `irr::ode::CIrrOdeGeomRay::set(irr::core::vector3d<float>, irr::core::vector3d<float>, float)'
CAutoPilot.cpp:(.text+0x19ee): undefined reference to `irr::ode::CIrrOdeGeomRay::checkWithWorld(irr::core::array<irr::core::vector3d<float>, irr::core::irrAllocator<irr::core::vector3d<float> > >&)'
CAutoPilot.cpp:(.text+0x1dd9): undefined reference to `irr::ode::CIrrOdeGeomRay::set(irr::core::vector3d<float>, irr::core::vector3d<float>, float)'
CAutoPilot.cpp:(.text+0x1df4): undefined reference to `irr::ode::CIrrOdeGeomRay::checkWithWorld(irr::core::array<irr::core::vector3d<float>, irr::core::irrAllocator<irr::core::vector3d<float> > >&)'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::setState(CAutoPilot::eAutoPilotState)':
CAutoPilot.cpp:(.text+0x2479): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAutoPilot.cpp:(.text+0x24d6): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::setEnabled(bool)':
CAutoPilot.cpp:(.text+0x253d): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAutoPilot.cpp:(.text+0x2586): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CCameraController.o: In function `CCameraController::setTarget(irr::ode::CIrrOdeBody*)':
CCameraController.cpp:(.text+0x74d): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
CCameraController.cpp:(.text+0x833): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
CCameraController.cpp:(.text+0x919): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
CCameraController.cpp:(.text+0x9ff): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
.objs/source/IrrOdeCar/CCar.o: In function `CCar::CCar(irr::IrrlichtDevice*, irr::scene::ISceneNode*, CIrrCC*, CRearView*)':
CCar.cpp:(.text+0x2f4): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CCar.cpp:(.text+0x320): undefined reference to `irr::ode::CIrrOdeSceneNode::setUserData(void*)'
CCar.cpp:(.text+0x377): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x3b1): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x423): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x45d): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x503): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
.objs/source/IrrOdeCar/CCar.o:CCar.cpp:(.text+0x56c): more undefined references to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)' follow
.objs/source/IrrOdeCar/CCar.o: In function `CCar::CCar(irr::IrrlichtDevice*, irr::scene::ISceneNode*, CIrrCC*, CRearView*)':
CCar.cpp:(.text+0x75d): undefined reference to `irr::ode::CIrrOdeSurfaceParameters::CIrrOdeSurfaceParameters()'
CCar.cpp:(.text+0x7ca): undefined reference to `irr::ode::CIrrOdeSceneNode::getParameter(irr::core::string<wchar_t, irr::core::irrAllocator<wchar_t> >) const'
CCar.cpp:(.text+0x7d6): undefined reference to `irr::ode::CIrrOdeSurfaceParameters::copy(irr::ode::CIrrOdeSurfaceParameters*)'
CCar.cpp:(.text+0x829): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x8f8): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x9b7): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0xa94): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0xd7c): undefined reference to `typeinfo for irr::ode::CIrrOdeServo'
CCar.cpp:(.text+0xdcb): undefined reference to `typeinfo for irr::ode::CIrrOdeServo'
CCar.cpp:(.text+0xe37): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CCar.o: In function `CCar::~CCar()':
CCar.cpp:(.text+0x1053): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
Process terminated with status 1 (0 minutes, 50 seconds)
50 errors, 14 warnings
tokamak:
Code:
==== Building tokamak ====
make[1]: `../../lib/libtokamak_md.a' is up to date.
USR@USR-desktop:~/physics/linux/tokamak/tokamak-premake/build/gnu$ sudo make install
make: *** No rule to make target `install'.  Stop.
irrbullet:
Code:
-------------- Build: Linux Release in irrBullet ---------------

Compiling: bulletworld.cpp
In file included from /home/USR/SDK/irrBulletSDK-0.1.8/source/bulletworld.h:15:0,
                 from /home/USR/SDK/irrBulletSDK-0.1.8/source/bulletworld.cpp:17:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:55:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:56:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:60:50: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
Compiling: bvhtrianglemeshshape.cpp
Compiling: collisioncallbackinformation.cpp
In file included from /home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:6:0:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:55:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:56:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:60:50: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:17:67: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp: In member function ‘ICollisionObject* const ICollisionCallbackInformation::getBody0() const’:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:20:113: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp: At global scope:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:27:67: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp: In member function ‘ICollisionObject* const ICollisionCallbackInformation::getBody1() const’:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:30:113: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
Process terminated with status 1 (0 minutes, 23 seconds)
2 errors, 8 warnings

There are more, but that's a good start.


Quote:
Originally Posted by H_TeXMeX_H View Post
So is it Linux or Ubuntu that you wish to drop ? They are NOT the same you know.

PAL may not compile because you have the svn version, these are not guaranteed to compile. Not to mention that it is beta software. Irrlicht and ODE should compile, what errors do you get there ?

On Ubuntu you should use the distro packages as much as possible, rather than compiling stuff yourself. If you plan on compiling many things from source, maybe you should try another distro.
While I realize there are many distros, if I can't get this working, the best I will be able to do will be recommending users try a binary win32 version with Wine for software-rendering without acceleration.

PAL comes with two different install methods, both were tried. Using the ubuntu -dev packages were tried first in all cases.




Quote:
Originally Posted by 414N View Post
Ubuntu comes with no header files installed by default, so it's perfectly normal -- if you're trying to compile something which requires library XYZ to compile -- that it can't be compiled because library XYZ headers could not be found, even if the library itself is installed on the system. You should install the relevant *-dev packages in order to compile from source.
You can install in one-shot every build dependency of a package with
Code:
apt-get build-dep PKG
where PKG is the name of the package for which you desire to install its build dependencies (i.e. libs and headers it needs in order to compile successfully). Of course PKG must be in the repository and a package for it must exist for apt to be able to find its build dependencies. Be aware that this can help you install all -dev packages needed to build PKG as is found in the repository, but, if you're trying to build a newer version of that software (e.g: from svn/git) or using different compile-time switches, it may not suffice.
Which were the errors that you encountered, by the way?
I believe I already took care of missing -dev packages, but I would be more than happy to find out that that is the only problem.
 
Old 08-06-2012, 11:02 AM   #5
dugan
Senior Member
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 4,766

Rep: Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467
The error in Tokamak should be obvious (hint: the compilation succeeded). Every other example shows that one of the libraries you need is not being found.

For ogre, you need libogre-dev. For irrlicht, it's ibirrlicht-dev. And for ODE, it's libode-dev. They are available in, and should be installed from, Ubuntu's repositories. If you already have those, and you installed them using apt, then you broke your system trying to additionally install them "from source".

It's possible, of course, that there are engines that actually need to be built with Visual Studio, but that's not the case with ogre, irrlicht or ode.

If you've confirmed that the libraries are indeed installed, then confirm that you've correctly set your linker flags, include directories, and other build parameters.

Last edited by dugan; 08-06-2012 at 05:14 PM.
 
Old 08-06-2012, 10:35 PM   #6
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Original Poster
Rep: Reputation: Disabled
I can kind of get bullet from source, it compiles fine using cmake, (if I add the -fPIC options) but trying to run one of the demos it build now says this:
Code:
Bullet version 280
Xlib:  extension "GLX" missing on display ":0.0".
freeglut (/home/uu2/bullet/Demos/AllBulletDemos/AppAllBulletDemos): OpenGL GLX extension not supported by display ':0.0'
made using:

Code:
cmake . -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebugInfo -DBUILD_EXTRAS=ON -DINSTALL_EXTRA_LIBS=ON -DBUILD_DEMOS=on -DCMAKE_CXX_FLAGS="-fPIC" -DCMAKE_C_FLAGS="-fPIC" -DINSTALL_LIBS=on
again, thats just PURE bullet physics. which has no deb package.


Quote:
Originally Posted by dugan View Post
The error in Tokamak should be obvious (hint: the compilation succeeded). Every other example shows that one of the libraries you need is not being found.

For ogre, you need libogre-dev. For irrlicht, it's ibirrlicht-dev. And for ODE, it's libode-dev. They are available in, and should be installed from, Ubuntu's repositories. If you already have those, and you installed them using apt, then you broke your system trying to additionally install them "from source".

It's possible, of course, that there are engines that actually need to be built with Visual Studio, but that's not the case with ogre, irrlicht or ode.

If you've confirmed that the libraries are indeed installed, then confirm that you've correctly set your linker flags, include directories, and other build parameters.
I tried that too.

Last edited by irrcode; 08-06-2012 at 10:38 PM.
 
Old 08-06-2012, 11:14 PM   #7
dugan
Senior Member
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 4,766

Rep: Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467Reputation: 1467
Bullet is telling you that your video drivers don't support 3D acceleration. It needs 3D acceleration, so it won't run. Your installation is having video driver issues.

Last edited by dugan; 08-06-2012 at 11:34 PM.
 
Old 08-06-2012, 11:27 PM   #8
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Original Poster
Rep: Reputation: Disabled
Code:
$ glxinfo | grep direct
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
 
Old 08-06-2012, 11:34 PM   #9
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Original Poster
Rep: Reputation: Disabled
Please note that am running a couple of different machines. The GLX problem seems to be from an Intel Media Graphics Accelerator 950. I DON"T expect it to be fast. I expect it to work and tank the laptop.

The other machine has a gtx 670 though, so that shouldn't be an issue.

On the low-spec one:
Code:
$ grep -i glx /var/log/Xorg.0.log
[    69.095] (II) LoadModule: "glx"
[    69.095] (II) Loading /usr/lib/i386-linux-gnu/xorg/extra-modules/libglx.so
[    69.135] (II) Module glx: vendor="NVIDIA Corporation"
[    69.135] (II) NVIDIA GLX Module  295.40  Thu Apr  5 21:49:54 PDT 2012
[    69.135] (II) Loading extension GLX
[    70.383] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
BUT... this was after trying to install glx drivers - so it may or may not have anything to do with it.
 
Old 08-06-2012, 11:38 PM   #10
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by irrcode View Post
Code:
-------------- Build: Debug in ogre_test001 ---------------

Compiling: main.cpp
In file included from /usr/include/OGRE/ExampleApplication.h:26:0,
                 from /home/GENERIC_USR/Desktop/CODEBLOCKS_PROJECTS/ogre_test001/main.cpp:12:
/usr/include/OGRE/ExampleFrameListener.h:51:21: fatal error: OIS/OIS.h: No such file or directory
compilation terminated.
Process terminated with status 1 (0 minutes, 5 seconds)
1 errors, 0 warnings
This part is sort of solved by copying ExampleApplication.h around from a source on the internet. OIS can be installed via the libois deb.
 
Old 08-07-2012, 02:13 AM   #11
resetreset
Senior Member
 
Registered: Mar 2008
Location: India
Distribution: Dynebolic, Ubuntu 10.10
Posts: 1,320

Rep: Reputation: 62
I didn't read everything above, but just a suggestion: why don't you make Games using WebGL?
 
Old 08-07-2012, 03:53 AM   #12
414N
Member
 
Registered: Sep 2011
Location: Italy
Distribution: Slackware
Posts: 609

Rep: Reputation: 180Reputation: 180
Sheesh, this is gonna be a long post
Looking at all the errors you reported it seems like all those libs have crippled/messed up build systems, primarily because the devs developed the projects on MS Visual Studio first, then added a minimum build support to Linux via premake (I never encountered it, and I built a lot of Linux software) without looking at existing Linux build standards, like installation of headers and libraries in system-wide locations etc...
Quote:
Originally Posted by irrcode View Post
ogre:
Code:
-------------- Build: Debug in ogre_test001 ---------------

Compiling: main.cpp
In file included from /usr/include/OGRE/ExampleApplication.h:26:0,
                 from /home/GENERIC_USR/Desktop/CODEBLOCKS_PROJECTS/ogre_test001/main.cpp:12:
/usr/include/OGRE/ExampleFrameListener.h:51:21: fatal error: OIS/OIS.h: No such file or directory
compilation terminated.
Process terminated with status 1 (0 minutes, 5 seconds)
1 errors, 0 warnings
Seems like you hadn't got a system install of ois when you first tried to build this example.

Quote:
Originally Posted by irrcode View Post
PAL:
Code:
    USR@USR-desktop:~/svn/pal/bin$ make
     
     
    Scanning dependencies of target libpal
    [  1%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/errorlog.cpp.o
    [  2%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/factoryconfig.cpp.o
    [  4%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/osfs.cpp.o
    [  5%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/os.cpp.o
    [  7%] Building CXX object pal/CMakeFiles/libpal.dir/__/framework/statusobject.cpp.o
    [  8%] Building CXX object pal/CMakeFiles/libpal.dir/pal.cpp.o
    [ 10%] Building CXX object pal/CMakeFiles/libpal.dir/palActuators.cpp.o
    [ 11%] Building CXX object pal/CMakeFiles/libpal.dir/palBodies.cpp.o
    [ 12%] Building CXX object pal/CMakeFiles/libpal.dir/palBodyBase.cpp.o
    [ 14%] Building CXX object pal/CMakeFiles/libpal.dir/palCollision.cpp.o
    [ 15%] Building CXX object pal/CMakeFiles/libpal.dir/palException.cpp.o
    [ 17%] Building CXX object pal/CMakeFiles/libpal.dir/palFactory.cpp.o
    [ 18%] Building CXX object pal/CMakeFiles/libpal.dir/palFluid.cpp.o
    [ 20%] Building CXX object pal/CMakeFiles/libpal.dir/palGeometry.cpp.o
    [ 21%] Building CXX object pal/CMakeFiles/libpal.dir/palLinks.cpp.o
    [ 22%] Building CXX object pal/CMakeFiles/libpal.dir/palMath.cpp.o
    [ 24%] Building CXX object pal/CMakeFiles/libpal.dir/palSensors.cpp.o
    [ 25%] Building CXX object pal/CMakeFiles/libpal.dir/palSolver.cpp.o
    [ 27%] Building CXX object pal/CMakeFiles/libpal.dir/palStatic.cpp.o
    [ 28%] Building CXX object pal/CMakeFiles/libpal.dir/palSoftBody.cpp.o
    [ 30%] Building CXX object pal/CMakeFiles/libpal.dir/palStringable.cpp.o
    [ 31%] Building CXX object pal/CMakeFiles/libpal.dir/palTerrain.cpp.

     
    [ 32%] Building CXX object pal/CMakeFiles/libpal.dir/palCharacter.cpp.o
    [ 34%] Building CXX object pal/CMakeFiles/libpal.dir/__/pal_i/hull.cpp.o
    Linking CXX shared library ../lib/libpal.so
    [ 34%] Built target libpal
    Scanning dependencies of target libpal_bullet
    [ 35%] Building CXX object pal_i/CMakeFiles/libpal_bullet.dir/bullet/bullet_pal.cpp.o
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In function ‘bool CustomMaterialCombinerCallback(btManifoldPoint&, const btCollisionObject*, int, int, const btCollisionObject*, int, int)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:219:66: error: cannot convert ‘const btCollisionObject*’ to ‘const btCollisionObjectWrapper*’ for argument ‘2’ to ‘void btAdjustInternalEdgeContacts(btManifoldPoint&, const btCollisionObjectWrapper*, const btCollisionObjectWrapper*, int, int, int)’
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual void palBulletPhysics::RayCast(Float, Float, Float, Float, Float, Float, Float, palRayHit&)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:370:72: error: invalid conversion from ‘const btRigidBody*’ to ‘btRigidBody*’ [-fpermissive]
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual btScalar palBulletCustomResultCallback::addSingleResult(btCollisionWorld::LocalRayResult&, bool)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:416:70: error: invalid conversion from ‘const btRigidBody*’ to ‘btRigidBody*’ [-fpermissive]
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual void palBulletPhysics::Init(const palPhysicsDesc&)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:761:28: 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]
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp: In member function ‘virtual void palBulletPhysics::StartIterate(Float)’:
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:858:88: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
    /home/USR/svn/pal/pal/pal_i/bullet/bullet_pal.cpp:859:88: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
    make[2]: *** [pal_i/CMakeFiles/libpal_bullet.dir/bullet/bullet_pal.cpp.o] Error 1
    make[1]: *** [pal_i/CMakeFiles/libpal_bullet.dir/all] Error 2
    make: *** [all] Error 2
These seems errors coming from header files and source files not aligned to the same interfaces. Probably a temporary SVN code inconsistency.
Quote:
Originally Posted by irrcode View Post
irrODE - after fixing all the wrong referenced include files with variously wrongly capitalised letters, such as irrOde.h,IrrODe.h, etc or making links and installing irrklang the unlisted dependency.


Code:
-------------- Build: Linux in IrrOdeCar ---------------

Compiling: ../source/IrrOdeCar/CAeroVehicle.cpp
Compiling: ../source/IrrOdeCar/CAutoPilot.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp: In member function ‘irr::f32 CAutoPilot::getRollControl(irr::f32, wchar_t*)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp:99:24: warning: variable ‘vAhf’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp: In member function ‘void CAutoPilot::step(irr::f32&, irr::f32&, irr::f32&, irr::f32&)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp:223:32: warning: variable ‘vxy’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CAutoPilot.cpp:223:52: warning: variable ‘vxz’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CCameraController.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCameraController.cpp: In member function ‘void CCameraController::update()’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCameraController.cpp:145:26: warning: variable ‘vPos’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CCar.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCar.cpp: In member function ‘virtual bool CCar::onEvent(irr::ode::IIrrOdeEvent*)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CCar.cpp:193:26: warning: variable ‘vForeward’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CCockpitCar.cpp
Compiling: ../source/IrrOdeCar/CCockpitPlane.cpp
Compiling: ../source/IrrOdeCar/CConfigFileManager.cpp
Compiling: ../source/IrrOdeCar/CController.cpp
Compiling: ../source/IrrOdeCar/CCustomEventReceiver.cpp
Compiling: ../source/IrrOdeCar/CEventVehicleState.cpp
Compiling: ../source/IrrOdeCar/CGUINeedleIndicator.cpp
Compiling: ../source/IrrOdeCar/CHeli.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CHeli.cpp: In member function ‘virtual void CHeli::odeStep(irr::u32)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CHeli.cpp:31:24: warning: variable ‘rot’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CIrrOdeCarState.cpp
Compiling: ../source/IrrOdeCar/CIrrOdeCarTrack.cpp
Compiling: ../source/IrrOdeCar/CMenu.cpp
Compiling: ../source/IrrOdeCar/CMeshCombiner.cpp
Compiling: ../source/IrrOdeCar/CPlane.cpp
Compiling: ../source/IrrOdeCar/CProgressBar.cpp
Compiling: ../source/IrrOdeCar/CProjectile.cpp
Compiling: ../source/IrrOdeCar/CRandomForestNode.cpp
Compiling: ../source/IrrOdeCar/CRearView.cpp
Compiling: ../source/IrrOdeCar/CSettings.cpp
Compiling: ../source/IrrOdeCar/CTank.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp: In member function ‘virtual void CTank::activate()’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:95:24: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:96:28: warning: variable ‘up’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:97:28: warning: variable ‘tgt’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp: In member function ‘virtual irr::u32 CTank::update()’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:128:26: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:133:26: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:134:26: warning: variable ‘up’ set but not used [-Wunused-but-set-variable]
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/CTank.cpp:135:26: warning: variable ‘tgt’ set but not used [-Wunused-but-set-variable]
Compiling: ../source/IrrOdeCar/CTargetSelector.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CConnection.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CRoadLoader.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CRoadMeshLoader.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CSegment.cpp
Compiling: ../source/IrrOdeCar/RoadCreator/CSurface.cpp
Compiling: ../source/IrrOdeCar/irrCC.cpp
Compiling: ../source/IrrOdeCar/irrodecar_main.cpp
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/irrodecar_main.cpp: In member function ‘virtual void CShaderCallBack::OnSetConstants(irr::video::IMaterialRendererServices*, irr::s32)’:
/home/GENERIC_USR/irrode/trunk/source/IrrOdeCar/irrodecar_main.cpp:63:23: warning: variable ‘pos’ set but not used [-Wunused-but-set-variable]
Linking console executable: ../bin/Linux/IrrOdeCar
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::CAeroVehicle(irr::IrrlichtDevice*, irr::scene::ISceneNode*, CIrrCC*, CRearView*)':
CAeroVehicle.cpp:(.text+0x169): undefined reference to `irr::ode::CIrrOdeSceneNode::setUserData(void*)'
CAeroVehicle.cpp:(.text+0x212): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
CAeroVehicle.cpp:(.text+0x252): undefined reference to `irr::ode::CIrrOdeBody::getStepMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x27c): undefined reference to `irr::ode::CIrrOdeBody::getStepMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x2a6): undefined reference to `irr::ode::CIrrOdeBody::getStepMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x2d0): undefined reference to `irr::ode::CIrrOdeBody::getGeomFromName(char const*)'
CAeroVehicle.cpp:(.text+0x32b): undefined reference to `irr::ode::CIrrOdeBody::getMotorFromName(char const*)'
CAeroVehicle.cpp:(.text+0x346): undefined reference to `typeinfo for irr::ode::CIrrOdeMotor'
CAeroVehicle.cpp:(.text+0x3a1): undefined reference to `irr::ode::CIrrOdeBody::getMotorFromName(char const*)'
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::~CAeroVehicle()':
CAeroVehicle.cpp:(.text+0x715): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::onEvent(irr::ode::IIrrOdeEvent*)':
CAeroVehicle.cpp:(.text+0xea9): undefined reference to `irr::ode::CIrrOdeMotor::setForce(float)'
CAeroVehicle.cpp:(.text+0xef6): undefined reference to `irr::ode::CIrrOdeMotor::setForce(float)'
CAeroVehicle.cpp:(.text+0xfda): undefined reference to `irr::ode::CIrrOdeBody::addForceAtPosition(irr::core::vector3d<float>, irr::core::vector3d<float>)'
CAeroVehicle.cpp:(.text+0x149c): undefined reference to `irr::ode::CIrrOdeServo::setServoPos(float)'
.objs/source/IrrOdeCar/CAeroVehicle.o: In function `CAeroVehicle::postShotEvent()':
CAeroVehicle.cpp:(.text+0x15a9): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAeroVehicle.cpp:(.text+0x15f2): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAeroVehicle.o:(.rodata._ZTIN3irr3ode12IIrrOdeMotorE[typeinfo for irr::ode::IIrrOdeMotor]+0x8): undefined reference to `typeinfo for irr::ode::CIrrOdeSceneNode'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::setTarget(irr::scene::ISceneNode*)':
CAutoPilot.cpp:(.text+0x397): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAutoPilot.cpp:(.text+0x404): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::step(float&, float&, float&, float&)':
CAutoPilot.cpp:(.text+0x19d3): undefined reference to `irr::ode::CIrrOdeGeomRay::set(irr::core::vector3d<float>, irr::core::vector3d<float>, float)'
CAutoPilot.cpp:(.text+0x19ee): undefined reference to `irr::ode::CIrrOdeGeomRay::checkWithWorld(irr::core::array<irr::core::vector3d<float>, irr::core::irrAllocator<irr::core::vector3d<float> > >&)'
CAutoPilot.cpp:(.text+0x1dd9): undefined reference to `irr::ode::CIrrOdeGeomRay::set(irr::core::vector3d<float>, irr::core::vector3d<float>, float)'
CAutoPilot.cpp:(.text+0x1df4): undefined reference to `irr::ode::CIrrOdeGeomRay::checkWithWorld(irr::core::array<irr::core::vector3d<float>, irr::core::irrAllocator<irr::core::vector3d<float> > >&)'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::setState(CAutoPilot::eAutoPilotState)':
CAutoPilot.cpp:(.text+0x2479): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAutoPilot.cpp:(.text+0x24d6): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CAutoPilot.o: In function `CAutoPilot::setEnabled(bool)':
CAutoPilot.cpp:(.text+0x253d): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CAutoPilot.cpp:(.text+0x2586): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CCameraController.o: In function `CCameraController::setTarget(irr::ode::CIrrOdeBody*)':
CCameraController.cpp:(.text+0x74d): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
CCameraController.cpp:(.text+0x833): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
CCameraController.cpp:(.text+0x919): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
CCameraController.cpp:(.text+0x9ff): undefined reference to `irr::ode::CIrrOdeSceneNode::getOdeClassname()'
.objs/source/IrrOdeCar/CCar.o: In function `CCar::CCar(irr::IrrlichtDevice*, irr::scene::ISceneNode*, CIrrCC*, CRearView*)':
CCar.cpp:(.text+0x2f4): undefined reference to `irr::ode::CIrrOdeBody::getID()'
CCar.cpp:(.text+0x320): undefined reference to `irr::ode::CIrrOdeSceneNode::setUserData(void*)'
CCar.cpp:(.text+0x377): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x3b1): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x423): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x45d): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x503): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
.objs/source/IrrOdeCar/CCar.o:CCar.cpp:(.text+0x56c): more undefined references to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)' follow
.objs/source/IrrOdeCar/CCar.o: In function `CCar::CCar(irr::IrrlichtDevice*, irr::scene::ISceneNode*, CIrrCC*, CRearView*)':
CCar.cpp:(.text+0x75d): undefined reference to `irr::ode::CIrrOdeSurfaceParameters::CIrrOdeSurfaceParameters()'
CCar.cpp:(.text+0x7ca): undefined reference to `irr::ode::CIrrOdeSceneNode::getParameter(irr::core::string<wchar_t, irr::core::irrAllocator<wchar_t> >) const'
CCar.cpp:(.text+0x7d6): undefined reference to `irr::ode::CIrrOdeSurfaceParameters::copy(irr::ode::CIrrOdeSurfaceParameters*)'
CCar.cpp:(.text+0x829): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x8f8): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0x9b7): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0xa94): undefined reference to `irr::ode::CIrrOdeSceneNode::getChildByName(char const*, irr::scene::ISceneNode*)'
CCar.cpp:(.text+0xd7c): undefined reference to `typeinfo for irr::ode::CIrrOdeServo'
CCar.cpp:(.text+0xdcb): undefined reference to `typeinfo for irr::ode::CIrrOdeServo'
CCar.cpp:(.text+0xe37): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
.objs/source/IrrOdeCar/CCar.o: In function `CCar::~CCar()':
CCar.cpp:(.text+0x1053): undefined reference to `irr::ode::CIrrOdeManager::getSharedInstance()'
Process terminated with status 1 (0 minutes, 50 seconds)
50 errors, 14 warnings
All those "undefined reference" errors mean that the linker was not able to find the proper libs to link those symbols to.
Try installing first the library system-wide then compiling example applications, like IrrOdeCar seems to be.
If the library lacks an "install" target, try adding
Code:
LDFLAGS=-L/path/to/directory/containing/library/files
to the make command.
Quote:
Originally Posted by irrcode View Post
tokamak:
Code:
==== Building tokamak ====
make[1]: `../../lib/libtokamak_md.a' is up to date.
USR@USR-desktop:~/physics/linux/tokamak/tokamak-premake/build/gnu$ sudo make install
make: *** No rule to make target `install'.  Stop.
Like dugan said, compilation here succeeded but tokamak makefile hasn't got an "install" target.
Having tried to build it myself I can confirm that the build system is a mess and all it does is compiling source files to object files and nothing else.
You could create a static library by running
Code:
ar -cvq libtokamak.a *.o
inside the obj/Debug directory. This library could then be copied in /usr/lib or your project libs/ directory (if you create one) and it would be accessible during builds using the -ltokamak flag.
Quote:
Originally Posted by irrcode View Post
irrbullet:
Code:
-------------- Build: Linux Release in irrBullet ---------------

Compiling: bulletworld.cpp
In file included from /home/USR/SDK/irrBulletSDK-0.1.8/source/bulletworld.h:15:0,
                 from /home/USR/SDK/irrBulletSDK-0.1.8/source/bulletworld.cpp:17:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:55:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:56:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:60:50: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
Compiling: bvhtrianglemeshshape.cpp
Compiling: collisioncallbackinformation.cpp
In file included from /home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:6:0:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:55:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:56:44: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.h:60:50: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:17:67: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp: In member function ‘ICollisionObject* const ICollisionCallbackInformation::getBody0() const’:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:20:113: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp: At global scope:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:27:67: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp: In member function ‘ICollisionObject* const ICollisionCallbackInformation::getBody1() const’:
/home/USR/SDK/irrBulletSDK-0.1.8/source/collisioncallbackinformation.cpp:30:113: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
Process terminated with status 1 (0 minutes, 23 seconds)
2 errors, 8 warnings
Again, this seems like an internal error in code. Try manually removing the "-Wignored-qualifiers" flag from the makefile and rebuild the project.

Quote:
Originally Posted by irrcode View Post
While I realize there are many distros, if I can't get this working, the best I will be able to do will be recommending users try a binary win32 version with Wine for software-rendering without acceleration.
I suggest you to report all these difficulties and issues in the projects' bug trackers (this would be the best place)/forums/irc channels to push developers in improving the Linux support.
Anyway, why do you think wine lacks hardware acceleration?
Quote:
Originally Posted by irrcode View Post
PAL comes with two different install methods, both were tried. Using the ubuntu -dev packages were tried first in all cases.
Do you mean the dynamic linking version and the static linking one?
Quote:
Originally Posted by irrcode View Post
Code:
$ glxinfo | grep direct
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Those errors mean that the glx extension (the one which interconnect X11/Xorg and OpenGL) is not loaded and cannot be used to create a new OpenGL window. Judging by your Xorg.log.0:
Quote:
Originally Posted by irrcode View Post
Code:
$ grep -i glx /var/log/Xorg.0.log
[    69.095] (II) LoadModule: "glx"
[    69.095] (II) Loading /usr/lib/i386-linux-gnu/xorg/extra-modules/libglx.so
[    69.135] (II) Module glx: vendor="NVIDIA Corporation"
[    69.135] (II) NVIDIA GLX Module  295.40  Thu Apr  5 21:49:54 PDT 2012
[    69.135] (II) Loading extension GLX
[    70.383] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
it seems like you're trying to use the nvidia driver on the Intel GMA950 machine.
If you installed nvidia binary drivers, please uninstall them and reinstall mesa + xf86-video-intel which provide hardware acceleration for intel cards.

Last edited by 414N; 08-07-2012 at 03:57 AM.
 
2 members found this post helpful.
Old 08-07-2012, 08:52 AM   #13
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
Install OIS before Ogre.
 
Old 08-07-2012, 10:32 PM   #14
irrcode
LQ Newbie
 
Registered: Aug 2012
Posts: 11

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by 414N View Post
These seems errors coming from header files and source files not aligned to the same interfaces. Probably a temporary SVN code inconsistency.
Is there an easy way to retrieve old versions like there is in git, but in SVN?

Quote:
Originally Posted by 414N View Post
You could create a static library by running
Code:
ar -cvq libtokamak.a *.o
inside the obj/Debug directory. This library could then be copied in /usr/lib or your project libs/ directory (if you create one) and it would be accessible during builds using the -ltokamak flag.
While I haven't yet been able to try this, I will later today/morning, this looks promising!

Quote:
Originally Posted by 414N View Post
I suggest you to report all these difficulties and issues in the projects' bug trackers (this would be the best place)/forums/irc channels to push developers in improving the Linux support.
Anyway, why do you think wine lacks hardware acceleration?
On it. I haven't had the best luck with wine and 3D in the past. Except for the old Anim8or windows software. Wine does wonders for form-based win32-trapped software though. How good is the the WineAPI for compiling 3d against?

Quote:
Originally Posted by 414N View Post
Do you mean the dynamic linking version and the static linking one?
Those too. But I was talking about their cmake and premake stuff.

Quote:
Originally Posted by 414N View Post
Those errors mean that the glx extension (the one which interconnect X11/Xorg and OpenGL) is not loaded
good call. removing most of the nvidia stuff fixed the problem although nvidia-commons would not uninstall without removing the xubunut/ubuntu package.Not sure why any of nvidia was installed anyway.

Following the steps I have figured out has gotten me properly installed on a virtual machine of LinuxMint 13:
  • irrlicht
  • ogre
  • bullet (probably)
  • ode

but I still need a c++ wrapper to mix one of the graphics libraries (irrlicht or ogre) with one of the physics libraries (bullet or ode). Options I know of are irrbullet, irrode, btogre, ogrebullet. I can't use ogreode for licensing reasons concerning special deployment systems which I want to support.

NOTE:ODE is installed through the apt-get but it seems sketchy and not quite working although this may be because I don't understand how to link with it properly.

Quote:
Originally Posted by 414N View Post
Seems like you hadn't got a system install of ois when you first tried to build this example.
Quote:
Originally Posted by H_TeXMeX_H View Post
Install OIS before Ogre.
Thanks, yeah I figured that out earlier today. That was my bad, I didn't realise what it was or that it was a dependant software but found it as a deb in the software manager.

Last edited by irrcode; 08-07-2012 at 10:34 PM.
 
Old 08-09-2012, 02:44 AM   #15
414N
Member
 
Registered: Sep 2011
Location: Italy
Distribution: Slackware
Posts: 609

Rep: Reputation: 180Reputation: 180
Quote:
Originally Posted by irrcode View Post
Is there an easy way to retrieve old versions like there is in git, but in SVN?
Of course. When checking out from svn you can specify a revision number or date (in yyyymmdd format).
Looking at the svn browser for PAL, it seems like we're at revision 596 currently. You can try checking out from release 595 downwards:
Code:
svn co -r 595 http://pal.svn.sourceforge.net/viewvc/pal/ pal
Quote:
Originally Posted by irrcode View Post
On it. I haven't had the best luck with wine and 3D in the past. Except for the old Anim8or windows software. Wine does wonders for form-based win32-trapped software though. How good is the the WineAPI for compiling 3d against?
Well, if you're referring to Winelib, I guess you should try compiling some Direct3D code, but I really don't know if it would work and how good it would.
For cross platform interoperability without the need to write different graphics implementations, I would stick to OpenGL (maybe using SDL too) though.
Quote:
Originally Posted by irrcode View Post
Those too. But I was talking about their cmake and premake stuff.
Don't know about your experience with premake, but it seems a little crufty to me after trying to build tokamak.
Unless the cmake system is broken for PAL, I would stick with it.
Quote:
Originally Posted by irrcode View Post
good call. removing most of the nvidia stuff fixed the problem although nvidia-commons would not uninstall without removing the xubunut/ubuntu package.Not sure why any of nvidia was installed anyway.
Of which xubuntu/ubuntu package are you talking about? xorg?
Quote:
Originally Posted by irrcode View Post
Following the steps I have figured out has gotten me properly installed on a virtual machine of LinuxMint 13:
  • irrlicht
  • ogre
  • bullet (probably)
  • ode

but I still need a c++ wrapper to mix one of the graphics libraries (irrlicht or ogre) with one of the physics libraries (bullet or ode). Options I know of are irrbullet, irrode, btogre, ogrebullet. I can't use ogreode for licensing reasons concerning special deployment systems which I want to support.
Well, you could write your own wrapper which ties together graphics and physics information in an abstract way so their implementations could be interchanged with no functionality loss.
Of course this means you'll have to carefully design your own game platform before starting any real action, but it could come in handy even in future projects. If you decide to go this way, please remember to implement complete unit tests on the abstract platform before writing real implementation code.
Quote:
Originally Posted by irrcode View Post
NOTE:ODE is installed through the apt-get but it seems sketchy and not quite working although this may be because I don't understand how to link with it properly.
Have you checked that the libode-dev package got installed?
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Does any physics engine work on linux (alongside a 3D engine)? irrcode Programming 1 08-06-2012 05:09 PM
LXer: Nouveau Work On The Fermi Scripting Engine LXer Syndicated Linux News 0 06-02-2012 11:50 PM
Search engine for Linux? zerobane Linux - Software 1 07-10-2009 07:39 PM
How to get FGLRX to work with the Composite engine... BillyGalbreath Debian 5 01-24-2007 11:32 AM
besides xine engine, what else engine can be used in kaffeine? bravehao Linux - Newbie 1 06-04-2005 07:34 AM


All times are GMT -5. The time now is 08:29 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration