Building FlightGear - Debian: Difference between revisions

m
Reworked the topology of the topics and did some minor corrections.
m (OSG cmake build options)
m (Reworked the topology of the topics and did some minor corrections.)
Line 2: Line 2:
HowTo build FlightGear 2.2.0 or bleeding edge development version, hereinafter simply called ''GIT'', on GNU/Linux Debian '''Stable''' 6.x (Squeeze) and '''Testing'''/'''Unstable''' (Wheezy).
HowTo build FlightGear 2.2.0 or bleeding edge development version, hereinafter simply called ''GIT'', on GNU/Linux Debian '''Stable''' 6.x (Squeeze) and '''Testing'''/'''Unstable''' (Wheezy).


Even on Debian '''Oldstable''' 5.x (Lenny) this guide will work for both, 2.2.0 and GIT. At least until one or more dependencies of the GIT version are changing or beening added.
Even on Debian '''Oldstable''' 5.x (Lenny) this guide will work for both, 2.2.0 and GIT. At least until one or more dependencies of the GIT version are changing or beeing added.


If you don't want to make your hands dirty, have a look at [[Scripted_Compilation_on_Linux_Debian/Ubuntu]].
If you don't want to make your hands dirty, have a look at [[Scripted_Compilation_on_Linux_Debian/Ubuntu]].
Line 21: Line 21:
*libboost1.37-dev (min 1.37, 1.40 available for Lenny on backports.debian.org)
*libboost1.37-dev (min 1.37, 1.40 available for Lenny on backports.debian.org)


During installation packages ''simgear-dev'' and ''openscenegraph-dev'' *must not* be installed. They can safely be re-installed after compilation.
During installation packages ''simgear-dev'' and ''openscenegraph-dev'' '''must not''' be installed. They can safely be re-installed after compilation.




Line 35: Line 35:




=== libopenal ===
=== Dependencies ===
'''Lenny only!''' The libopenal-dev package in Lenny is too old for [[fgcom]]. For FlightGear it does work but not all features (like doppler) are available, so installing an up to date version is recommended anyway.
In some aspects FlightGear's development relies closely on plib and OpenSceneGraph. Therefore the GIT users are encouraged to update them regularly. Not each time one rebuilds FlightGear but from time to time.
 
==== libopenal ====
<u>Lenny only!</u> The libopenal-dev package in Lenny is too old for [[fgcom]]. For FlightGear it does work but not all features (like doppler) are available, so installing an up to date version is recommended anyway.
  cd $srcdir
  cd $srcdir
  wget http://kcat.strangesoft.net/openal-releases/openal-soft-1.11.753.tar.bz2
  wget http://kcat.strangesoft.net/openal-releases/openal-soft-1.11.753.tar.bz2
Line 45: Line 48:




=== plib ===
==== plib ====
Latest SVN is [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended], yet package plib1.8.5-dev for Squeeze does work as well.
Latest SVN is [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended], yet package plib1.8.5-dev for Squeeze does work as well.
  cd $srcdir
  cd $srcdir
Line 56: Line 59:




=== OpenSceneGraph ===
==== OpenSceneGraph ====
<u>2.2.0 only:</u>
<u>2.2.0 only:</u>
  cd $srcdir
  cd $srcdir
Line 73: Line 76:




== Note ==
=== FlightGear and Components ===
From this point forward when providing the "LDFLAGS" string, you should use the path specific to your installation. For 32-bit installations this will probably be the path ending in /lib. In a 64-bit installation, this '''may''' be the path ending in /lib64, but doesn't have to be. You must verify this for your build, because you do not have to include both paths in the following compilations.
FlighGear relies very closely on its data and SimGear. Therefore it is necessary to update them at one time.


From this point forward when providing the <code>LDFLAGS</code> string, you should use the path specific to your installation. For 32-bit installations this will probably be the path ending in /lib. In a 64-bit installation, this '''may''' be the path ending in /lib64, but doesn't have to be. You must verify this for your build, because you do not have to include both paths in the following compilations.


=== SimGear ===
==== SimGear ====
<u>2.2.0 and GIT:</u>
<u>2.2.0 and GIT:</u>
  cd $srcdir
  cd $srcdir
Line 92: Line 96:




=== FlightGear source ===
==== FlightGear source ====
<u>2.2.0 and GIT:</u>
<u>2.2.0 and GIT:</u>
  cd $srcdir
  cd $srcdir
Line 107: Line 111:




=== FlightGear data ===
==== FlightGear data ====
<u>2.2.0 only:</u>
<u>2.2.0 only:</u>
At the time of writing, 2.2.0 is not yet released, there is no tar archive for the data available. Test pilots for this release are advised to use the ''release/2.2.0'' branch from git. The following URL for wget will be updated, if it is not working, as soon as 2.2.0 is released.
At the time of writing, 2.2.0 is not yet released, there is no tar archive for the data available. Test pilots for this release are advised to use the ''release/2.2.0'' branch from git. The following URL for wget will be updated, if it is not working, as soon as 2.2.0 is released.
Line 121: Line 125:




=== Trial run ===
== Trial run ==
When all the builds are done and the data download has finished it is time for a test run:
When all the builds are done and the data download has finished it is time for a test run:
  export LD_LIBRARY_PATH=$prefix/lib/:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH=$prefix/lib/:$LD_LIBRARY_PATH
  $prefix/bin/fgfs --fg-root=$prefix/fgdata
  $prefix/bin/fgfs --fg-root=$prefix/fgdata


For the future, if you want to start FlightGear from command line have a look at [[fgfsrc]], if you prefer a graphical user interface continue with [[#fgrun|compiling fgrun]]. Have in mind that fgfs need to find our self compiled libraries and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.
For the future, if you want to start FlightGear from command line have a look at [[fgfsrc]], if you prefer a graphical user interface continue with [[#fgrun|compiling fgrun]] or check [[FGo!]]. Have in mind that <code>fgfs</code> need to find our self compiled libraries and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.




== Optional Software ==
== Optional Software ==
Feel free to add the commands to install other FlightGear related projects.
=== fgrun ===
=== fgrun ===
To build [[fgrun]] two more package is required:
To build [[fgrun]] one more package is required:
*libfltk1.1-dev
*libfltk1.1-dev


392

edits