Problems compiling PLSM on Linux

jojo

29-10-2006 11:04:17

Hello,

I have a problem compiling PLSM on Linux.
The compilation always fails with the error: "libtool: link: only absolute run-paths are allowed".

Here's what I did:


$ ./bootstrap
$ env CPPFLAGS="-I/opt/ogre/include/OGRE -I/opt/ogre/include" LDFLAGS="-L/opt/ogre/lib -L/opt/ogre/lib/OGRE" ./configure

# alternatively, here's another way but it fails. Looks like the #--includedir parameter of the configure script is ignored:
#/configure --prefix=/opt/ogre --exec-prefix=/opt/ogre --includedir=/opt/ogre/include/OGRE --libdir=/opt/ogre/lib --with-ogre=/opt/ogre

$ make
(runs fine until linking)
[snip..]
g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../PlugIns/PagingLandScape2/include -I/opt/ogre/include/OGRE -I/opt/ogre/include -g -O2 -MT OgrePagingLandScapeOcclusionQuerySet.lo -MD -MP -MF .deps/OgrePagingLandScapeOcclusionQuerySet.Tpo -c OgrePagingLandScapeOcclusionQuerySet.cpp -o OgrePagingLandScapeOcclusionQuerySet.o >/dev/null 2>&1
/bin/sh ../../../libtool --tag=CXX --mode=link g++ -g -O2 -L/opt/ogre/lib -L/opt/ogre/lib/OGRE -o Plugin_PagingLandScape2.la -rpath -module -shared DRGNURBSSurface.lo filetutils.lo OgrePagingLandScapeOctreeAxisAlignedBoxSceneQuery.lo OgrePagingLandScapeOctreeCamera.lo OgrePagingLandScapeOctree.lo OgrePagingLandScapeOctreeIntersectionSceneQuery.lo OgrePagingLandScapeOctreeNode.lo OgrePagingLandScapeOctreePlaneBoundedVolumeListSceneQuery.lo OgrePagingLandScapeOctreeRaySceneQuery.lo OgrePagingLandScapeOctreeSceneManager.lo OgrePagingLandScapeOctreeSphereSceneQuery.lo OgrePagingLandScapeCamera.lo OgrePagingLandScapeData2D.lo OgrePagingLandScapeData2D_HeightField.lo OgrePagingLandScapeData2D_HeightFieldN.lo OgrePagingLandScapeData2D_HeightFieldNTC.lo OgrePagingLandScapeData2D_HeightFieldRaw.lo OgrePagingLandScapeData2D_HeightFieldRawTC.lo OgrePagingLandScapeData2D_HeightFieldTC.lo OgrePagingLandScapeData2D_HeightFieldBlendNeighbor.lo OgrePagingLandScapeData2DManager.lo OgrePagingLandScapeData2D_Spline.lo OgrePagingLandScapeHorizon.lo OgrePagingLandScapeIndexBuffer.lo OgrePagingLandScapeListenerManager.lo OgrePagingLandScapeOptions.lo OgrePagingLandScapePage.lo OgrePagingLandScapePageManager.lo OgrePagingLandScapePageRenderable.lo OgrePagingLandScapeRaySceneQuery.lo OgrePagingLandScapeRenderable.lo OgrePagingLandScapeRenderableManager.lo OgrePagingLandScapeTextureCoordinatesManager.lo OgrePagingLandScapeSceneManager.lo OgrePagingLandScapeSceneManagerDll.lo OgrePagingLandScapeTexture_BaseTexture2.lo OgrePagingLandScapeTexture_BaseTexture.lo OgrePagingLandScapeTexture.lo OgrePagingLandScapeTexture_Image.lo OgrePagingLandScapeTexture_InstantBaseTexture.lo OgrePagingLandScapeTexture_InstantBaseTextureShadowed.lo OgrePagingLandScapeTexture_InstantBaseTextureEdit.lo OgrePagingLandScapeTextureManager.lo OgrePagingLandScapeTexture_Splatting2.lo OgrePagingLandScapeTexture_Splatting2Edit.lo OgrePagingLandScapeTexture_Splatting3.lo OgrePagingLandScapeTexture_Splatting4.lo OgrePagingLandScapeTexture_Splatting5.lo OgrePagingLandScapeTexture_Splatting6.lo OgrePagingLandScapeTexture_Splatting7.lo OgrePagingLandScapeTexture_Splatting7Edit.lo OgrePagingLandScapeTexture_SplattingShader.lo OgrePagingLandScapeTexture_SplattingShaderEdit.lo OgrePagingLandScapeTexture_Splatting.lo OgrePagingLandScapeTile.lo OgrePagingLandScapeTileManager.lo OgrePagingLandScapeOcclusion.lo OgrePagingLandScapeOcclusionElement.lo OgrePagingLandScapeOcclusionCameraTraversal.lo OgrePagingLandScapeOcclusionTraversal.lo OgrePagingLandScapeOcclusionCHCTraversal.lo OgrePagingLandScapeOcclusionSWTraversal.lo OgrePagingLandScapeOcclusionDebugTraversal.lo OgrePagingLandScapeOcclusionVFTraversal.lo OgreDebugRectangle2D.lo OgreOcclusionBoundingBox.lo OgrePagingLandScapeOcclusionQuerySet.lo -lOgreMain -lILU -lIL -lz -lm -ldl
libtool: link: only absolute run-paths are allowed
make[4]: *** [Plugin_PagingLandScape2.la] Error 1
make[4]: Leaving directory `/home/jojo/ogre3d/ogreaddons/paginglandscape/PlugIns/PagingLandScape2/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/jojo/ogre3d/ogreaddons/paginglandscape/PlugIns/PagingLandScape2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jojo/ogre3d/ogreaddons/paginglandscape/PlugIns'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jojo/ogre3d/ogreaddons/paginglandscape'
make: *** [all] Error 2



Some information on my system:
Arch Linux, gcc version 4.1.1, Ogre 1.2.2 or 1.2.3 (selfcompiled), OGRE install in /opt/ogre.

Can anybody please help me with this problem?
I think there is something wrong with the configure script, it really should handle --includedir and --libdir so I don't have to use the environment variables.

Thank you and bye :)

tuan kuranes

30-10-2006 08:50:41

No clue about your problem, apparently you're the first to run it using non-standard paths...

I think there is something wrong with the configure script, it really should handle --includedir and --libdir so I don't have to use the environment variables.
Indeed, but contributions welcomed until I found time to finish that.

jojo

30-10-2006 17:02:32

Hello,

thanks for your reply, dear Site Admin.

When I'm using non-standard paths - what are the correct ones? Where does the PLSM configure script look for its required files?

I'd love to contribute, but for me the autotools are living hell :) No way I'm gonna learn this language just to compile my sources ;) Go for Scons, Ant, Jam or *anything* but autotools..

tuan kuranes

31-10-2006 08:04:02

Ogre standard path is where it installs if you do not change default value... so that might be /usr/local

jojo

31-10-2006 15:01:58

The problem occurs no matter where OGRE installed - neither /opt/ogre3d (using my distributions package manager) nor /usr/local (using make install) work.

Reading the line which causes the error I'd guess the problem is within the PLSM build script - not with the ogre installation.

tuan kuranes

01-11-2006 17:23:16

might come from a linux problem, then, as user reported correct installation on other distributions...

jojo

01-11-2006 17:29:51

Here a way to get configure to produce a different error:

Copy the /usr/local/lib/pkgconfig/OGRE.pc file to /usr/lib/pkgconfig, then configure & make runs fine..

.. Until it comes to the compilation of the macros.
Compiling them gcc complains about the standard demonstration framework files not being found (ExampleApplication and stuff).
Copying everything from OgreSDK/Samples/Common/include to the Samples/Include dir of PLSM *seems* to do the trick.
- It does, compilation just finished successfully. What a pain!

tuan kuranes

01-11-2006 17:52:01

Copy the /usr/local/lib/pkgconfig/OGRE.pc file to /usr/lib/pkgconfig, then configure & make runs fine..
maybe you should find a way to make pkgconfig to look into /usr/local/lib for its package list ?

Standard demo framework isn't installed with Ogre ?

jojo

01-11-2006 18:45:31

Hi,

I could fix the pkg-config thing by setting the env variable PKG_CONFIG_PATH, but copying it is the faster way when messing around.
About the samples stuff: I thought a "make install" in the ogre main source dir would do the trick?
Anyway, now with a compiled version i should be able to start the PLSM samples.
Unfortunately there's still something wrong, but this time with the .cfg files. Will look into this later..