Difference between revisions of "User:Cazfi/SeparateTree"

From FreeOrionWiki
Jump to: navigation, search
(Compiled on sid)
(Old and stale, we don't use SourceForce, Bullet or Ogre)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
=Building FreeOrion to separate directory tree=
 
I wanted to check out FreeOrion, but not to pollute my system with scattered, hard to uninstall, files. Such files are easily left behind not only when trying to completely uninstall software, but also when software is upgraded and some file from older version is no longer needed and should be removed. Installing uninstallable debian packets is ok, any other method of installing files to system directories I don't like. So I decided to build FreeOrion and those dependencies that cannot be installed as debian packets to separate directory tree. This means 1) I don't need root permissions in any part of installation process, 2) I can completely remove freeorion by a simple "rm -Rf freeorion".
 
  
==Tested systems==
 
So far I have built FreeOrion in this manner in Debian Lenny (64bit), Ubuntu Jaunty (64bit) and Debian Sid/Unstable (32bit). I documented this thing only when building for Jaunty, so below instructions apply to that case. Lenny differed at least in that I had to compile also libboost.
 
 
==Build==
 
Create freeorion directory. I'm doing this under my home directory (/home/cazfi)
 
mkdir freeorion
 
cd freeorion
 
 
Download and build ogre
 
wget http://downloads.sourceforge.net/ogre/ogre-v1-6-2.tar.bz2
 
tar xjf ogre-v1-6-2.tar.bz2
 
cd ogre
 
./configure --prefix=$HOME/freeorion/sys
 
make install
 
cd ..
 
 
Download and build bullet. For some reason bullet tarball contains install-sh but no other build system files. We have to create other files by ./autogen.sh but then we may have inconsistent system; install-sh might be incompatible from other files. ./autogen.sh does not overwrite install-sh, but it creates new one if it's missing. So I simply remove tarball provided install-sh before running ./autogen.sh.
 
wget http://bullet.googlecode.com/files/bullet-2.74.tgz
 
tar xzf bullet-2.74.tgz
 
cd bullet-2.74
 
rm install-sh
 
./autogen.sh
 
./configure --prefix=$HOME/freeorion/sys
 
make install
 
cd ..
 
 
FreeOrion checkout
 
svn co https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk TRUNK
 
 
Build GG
 
cd TRUNK/FreeOrion/GG
 
PKG_CONFIG_PATH=$HOME/freeorion/sys/lib/pkgconfig scons configure prefix=$HOME/freeorion/sys pkgconfigdir=$HOME/freeorion/sys/lib/pkgconfig
 
scons install
 
cd ..
 
 
Build FreeOrion. FreeOrion does not install ogre_plugins.cfg, nor does it generate it correctly. So we do that with sed.
 
PKG_CONFIG_PATH=$HOME/freeorion/sys/lib/pkgconfig scons configure prefix=$HOME/freeorion/install
 
scons install
 
sed "s,PluginFolder=.,PluginFolder=$HOME/freeorion/sys/lib/OGRE," ogre_plugins.cfg > $HOME/freeorion/install/share/freeorion/ogre_plugins.cfg
 
 
==Running FreeOrion==
 
FreeOrion binary is in /home/cazfi/freeorion/install/bin. Since we have installed self built dependency libraries to non-standard location, we have to set LD_LIBRARY_PATH before running freeorion.
 
cd ../..
 
LD_LIBRARY_PATH=$HOME/freeorion/sys/lib install/bin/freeorion
 

Latest revision as of 18:10, 15 March 2018