I have recently packaged Bullet for Debian and i'm aiming at bringing FreeOrion to Debian and its derivatives now. So far i'm at stage 1, compilation. I had a recent success and now the game builds here on amd64, i can already play it, but cmake can't find the official Bullet package and i had to fall back on a private version without Multiarch paths.
Perhaps someone can help me to get things straight. First of all Multiarch is a new feature in Debian where you can co-install the same library for different kind of architectures. The most popular use case is amd64<->i386 or armel<->armhf. In my case i get the following error message:
As you can see cmake detects OpenAL, OGG and Vorbis successfully, even if they are installed in a Debian specific path like /usr/lib/x86_64-linux-gnu but fails to find the Bullet library. However this works great if i install Bullet in /usr/lib for example. I have figured out that i have to modify FindBullet.cmake in the cmake directory but had no success so far. I presume i have to change the PATH variable.-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Could NOT find Subversion (missing: Subversion_SVN_EXECUTABLE)
-- Configuring freeoriond
-- Configuring freeorionca
-- Boost version: 1.49.0
-- Found the following Boost libraries:
-- date_time
-- filesystem
-- serialization
-- signals
-- system
-- thread
-- iostreams
-- python
-- Found PythonLibs: /usr/lib/libpython2.7.so (found suitable version "2.7.3", required is "2")
-- Configuring freeorion
-- Found OpenAL: /usr/lib/x86_64-linux-gnu/libopenal.so
-- Found ALUT: /usr/lib/libalut.so
-- checking for one of the modules 'OGRE'
-- libraries : OgreMain;pthread from /usr/lib/x86_64-linux-gnu
-- includes : /usr/include/OGRE
-- Found Ogg: /usr/lib/x86_64-linux-gnu/libogg.so
-- Found Vorbis: /usr/lib/x86_64-linux-gnu/libvorbis.so
CMake Error at client/human/CMakeLists.txt:61 (message):
Bullet library not found.
Code: Select all
FIND_PATH(BULLET_INCLUDE_DIR btBulletDynamicsCommon.h PATHS /usr/local/include /usr/include ${BULLET_SDK}/include PATH_SUFFIXES src bullet)
Code: Select all
FIND_LIBRARY(LIB_DYNAMICS bulletdynamics BulletDynamics PATHS ${BULLET_SDK}/lib /usr/lib /usr/local/lib)
Code: Select all
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
I assume there is an easier way to find Bullet with Multiarch paths. Any ideas or hints?
Markus