392
edits
(-Lenny support; +fgrun1.7; +libfltk1.3 and some minor changes) |
(cosmetics and typos) |
||
Line 1: | Line 1: | ||
HowTo build [[FlightGear]] <u>[[Changelog_2.10.0|2.10.0]]</u> or bleeding edge development version, hereinafter simply called <u>[[GIT]]</u>, on GNU/Linux [http://www.debian.org/ Debian] Stable/<u>Squeeze</u>. Users of Oldstable, Testing/<u>Wheezy</u> or Unstable at least have to change package names (version numbering) accordingly. | |||
HowTo build [[FlightGear]] <u>[[Changelog_2.10.0|2.10.0]]</u> or bleeding edge development version, hereinafter simply called <u>[[GIT]]</u>, on GNU/Linux [http://www.debian.org/ Debian] <u>Squeeze</u> | |||
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]]. | The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]]. | ||
Line 11: | Line 9: | ||
== Requirements and Preparations == | == Requirements and Preparations == | ||
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear: | |||
; Tools | ; Tools | ||
su -c "apt-get install automake | su -c "apt-get install automake cmake g++ gcc git make subversion unzip" | ||
: Additionally install "fluid" if you intend to use [[FlightGear_Admin_Wizard|fgadmin]]. | |||
: fluid | |||
; | ; Dependencies | ||
su -c "apt-get install | Command for <u>Squeeze</u>, users of other releases are advised to check package versions: | ||
su -c "apt-get install \ | |||
freeglut3-dev libboost-dev libcurl4-openssl-dev libgtkglext1-dev \ | |||
libjpeg8-dev libopenal-dev librsvg2-dev libsvn-dev \ | |||
: If you prefer you might replace libcurl4-openssl-dev by libcurl4-gnutls-dev. | libxml2-dev libxrandr-dev" | ||
: Add libudev-dev if you need FG's feature <code>-D EVENT_INPUT=ON</code>. | : If you prefer you might replace "libcurl4-openssl-dev" by "libcurl4-gnutls-dev". | ||
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries | : Add "libudev-dev" if you need FG's feature <code>-D EVENT_INPUT=ON</code>. | ||
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely here these might be "libplib-dev", "libfltk1.1-dev", "libopenscenegraph-dev" and "simgear-dev". | |||
<!-- | <!-- | ||
osg: libxml2-dev | osg: libxml2-dev libcurl4-openssl-dev libgtkglext1-dev libopenal-dev libpng12-dev librsvg2-dev libtiff4-dev | ||
sg: libalut-dev libboost1.42-dev libsvn-dev | sg: libalut-dev libboost1.42-dev libsvn-dev | ||
fg: freeglut3-dev (libfltk1.1-dev (für fgadmin) fluid) (libudev-dev) | fg: freeglut3-dev (libfltk1.1-dev (für fgadmin) fluid) (libudev-dev) | ||
Line 40: | Line 38: | ||
export srcdir=$HOME/src && mkdir $srcdir | export srcdir=$HOME/src && mkdir $srcdir | ||
Have in mind that the data is a relatively large download (GIT about 5 GB and 2.10.0 650 MB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. | Have in mind that the data is a relatively large download (GIT about 5 GB and 2.10.0 650 MB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. <br /> | ||
For some basic info on git commands for FlightGear users we have a [[Git#For dummies|git for dummies]] section. <br /> | |||
For some basic info on git commands for FlightGear users we have a [[Git#For dummies|git for dummies]] section. | |||
To have a build with debugging symbols add <code>-D CMAKE_BUILD_TYPE="RelWithDebInfo"</code> to SimGear's and FlightGear's cmake options. | To have a build with debugging symbols add <code>-D CMAKE_BUILD_TYPE="RelWithDebInfo"</code> to SimGear's and FlightGear's cmake options. | ||
Line 49: | Line 45: | ||
=== libfltk === | === libfltk === | ||
[http://www.fltk.org/ FLTK] only is required for [[fgadmin]], which is content with libfltk-1.1, and fgrun, which minimum is libfltk-1.3. <br /> | [http://www.fltk.org/ FLTK] only is required for [[fgadmin]], which is content with libfltk-1.1, and fgrun, which minimum is libfltk-1.3. <br /> | ||
<u>Wheezy</u>: Just install package libfltk1.3-dev if you're planning to use either of them. <br /> | <u>Wheezy</u>: Just install package "libfltk1.3-dev" if you're planning to use either of them. <br /> | ||
<u>Squeeze</u>: For fgadmin just install package libfltk1.1-dev. To compile fgrun, too, build and install FLTK-1.3 instead: | <u>Squeeze</u>: For fgadmin just install package "libfltk1.1-dev". To compile fgrun, too, build and install FLTK-1.3 instead: | ||
cd $srcdir | cd $srcdir | ||
wget http://ftp.easysw.com/pub/fltk/1.3.2/fltk-1.3.2-source.tar.gz | wget http://ftp.easysw.com/pub/fltk/1.3.2/fltk-1.3.2-source.tar.gz | ||
tar xzf fltk-1.3.2-source.tar.gz | tar xzf fltk-1.3.2-source.tar.gz | ||
cd fltk-1.3.2 | cd fltk-1.3.2 | ||
./configure --enable-shared --prefix | ./configure --enable-shared --prefix=$prefix | ||
make -j2 install | make -j2 install | ||
Line 72: | Line 68: | ||
=== [[OpenSceneGraph]] === | === [[OpenSceneGraph]] === | ||
For <u>2.10.0</u> on <u>Wheezy</u> skip that step and install package libopenscenegraph-dev instead. <br /> | For <u>2.10.0</u> on <u>Wheezy</u> skip that step and install package "libopenscenegraph-dev" instead. <br /> | ||
<u>GIT</u> users, especially developers, most likely want to use the latest [http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases DeveloperRelease] or even bleeding edge code here. <br /> | <u>GIT</u> users, especially developers, most likely want to use the latest [http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases DeveloperRelease] or even bleeding edge code here. <br /> | ||
<u>2.10.0</u> and <u>GIT</u>: | <u>2.10.0</u> and <u>GIT</u>: | ||
cd $srcdir | cd $srcdir | ||
svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.1 OpenSceneGraph | svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.1.1 OpenSceneGraph | ||
mkdir osg- | mkdir build-osg; cd build-osg | ||
cmake -D CMAKE_BUILD_TYPE="Release" -DLIB_POSTFIX="" \ | cmake -D CMAKE_BUILD_TYPE="Release" -DLIB_POSTFIX="" \ | ||
-D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph | -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph | ||
Line 93: | Line 89: | ||
<u>2.10.0</u> and <u>GIT</u>: | <u>2.10.0</u> and <u>GIT</u>: | ||
mkdir $srcdir/sg | mkdir $srcdir/build-sg; cd $srcdir/build-sg | ||
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/simgear | cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/simgear | ||
make -j2 install | make -j2 install | ||
Line 108: | Line 104: | ||
<u>2.10.0</u> and <u>GIT</u>: | <u>2.10.0</u> and <u>GIT</u>: | ||
mkdir $srcdir/fg | mkdir $srcdir/build-fg; cd $srcdir/build-fg | ||
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/flightgear | cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/flightgear | ||
make -j2 install | make -j2 install | ||
Line 137: | Line 133: | ||
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!]]-->. | 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!]]-->. | ||
{{WIP|Revise due to update to FG 2.10}} | |||
== Optional Software == | == Optional Software == | ||
Line 144: | Line 142: | ||
=== [[Atlas]] === | === [[Atlas]] === | ||
One more Package has to be installed: | One more Package has to be installed: "libglew1.5-dev" | ||
cd $srcdir | cd $srcdir | ||
git clone http://mapserver.flightgear.org/git/atlas | git clone http://mapserver.flightgear.org/git/atlas | ||
Line 155: | Line 152: | ||
<!--If it does not compile, go back some commits. Before invoking the <code>autogen.sh</code> command do: | <!--If it does not compile, go back some commits. Before invoking the <code>autogen.sh</code> command do: | ||
git reset --hard 5a27c351a8c03c7fa47cba0b4af7f4e23e4c31b0--> | git reset --hard 5a27c351a8c03c7fa47cba0b4af7f4e23e4c31b0--> | ||
$prefix/bin/Atlas | $prefix/bin/Atlas | ||
Line 165: | Line 157: | ||
=== fgcom === | === fgcom === | ||
For [[fgcom]] install package | For [[fgcom]] install package "libasound2-dev". | ||
cd $srcdir | cd $srcdir | ||
<!--git clone http://mapserver.flightgear.org/git/fgcom --> | <!--git clone http://mapserver.flightgear.org/git/fgcom --> | ||
Line 177: | Line 168: | ||
=== fgrun === | === fgrun === | ||
To build [[fgrun]] libfltk1.3 | To build [[fgrun]] libfltk1.3 is required, see [[#libfltk|libfltk above]]. <br /> | ||
<u>2.10.0</u> and <u>GIT</u>: | <u>2.10.0</u> and <u>GIT</u>: | ||
cd $srcdir | cd $srcdir | ||
Line 187: | Line 178: | ||
<u>2.10.0</u> and <u>GIT</u>: | <u>2.10.0</u> and <u>GIT</u>: | ||
mkdir $srcdir/fgrun-build | mkdir $srcdir/fgrun-build; cd $srcdir/fgrun-build | ||
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/fgrun | cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/fgrun | ||
make -j2 install | make -j2 install | ||
Line 199: | Line 190: | ||
[[File:Zeichen_101_icon.png|21px]] Obsolete for airport creation, use [[WorldEditor]] instead. It is still useful for working on [[Interactive_traffic#Ground_networks|ground networks]]. <br /> | [[File:Zeichen_101_icon.png|21px]] Obsolete for airport creation, use [[WorldEditor]] instead. It is still useful for working on [[Interactive_traffic#Ground_networks|ground networks]]. <br /> | ||
To compile [[Taxidraw|TaxiDraw]] we need to install some more packages: | To compile [[Taxidraw|TaxiDraw]] we need to install some more packages: | ||
* either libcurl4-gnutls-dev or libcurl4-openssl-dev for curl.h | * either "libcurl4-gnutls-dev" or "libcurl4-openssl-dev" for curl.h | ||
* wx2.8-headers (at least, maybe even more than just that one. Please [http://wiki.flightgear.org/index.php?title=Talk:Building_FlightGear_-_Debian&action=edit&redlink=1 report]! | * "wx2.8-headers" (at least, maybe even more than just that one. Please [http://wiki.flightgear.org/index.php?title=Talk:Building_FlightGear_-_Debian&action=edit&redlink=1 report]! | ||
su -c "aptitude install [libcurl4-gnutls-dev|libcurl4-openssl-dev]" | su -c "aptitude install [libcurl4-gnutls-dev|libcurl4-openssl-dev]" | ||
cd $srcdir | cd $srcdir | ||
Line 210: | Line 201: | ||
=== TerraGear === | === [[TerraGear]] === | ||
==== Automatic Installation ==== | ==== Automatic Installation ==== | ||
If you are familiar with "download_and_compile.sh" script from Brisa you can donwload this script: http://clemaez.fr/flightgear/terragear_download_and_compile.sh | If you are familiar with "download_and_compile.sh" script from Brisa you can donwload this script: http://clemaez.fr/flightgear/terragear_download_and_compile.sh | ||
Line 230: | Line 221: | ||
* libgdal1-dev, gdal-bin | * libgdal1-dev, gdal-bin | ||
* libproj-dev, libogdi3.2-dev (probably even more, please [http://wiki.flightgear.org/index.php?title=Talk:Building_FlightGear_-_Debian&action=edit&redlink=1 report]!) | * libproj-dev, libogdi3.2-dev (probably even more, please [http://wiki.flightgear.org/index.php?title=Talk:Building_FlightGear_-_Debian&action=edit&redlink=1 report]!) | ||
<u>Wheezy | <u>Wheezy</u>: As of June 2nd there is a bug ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617240 #617240]) in package libmysqlclient16 which causes compilation to fail. If it is not fixed by the time you're building TerraGear, upgrade to the version from Sid. | ||
cd $srcdir | cd $srcdir |
edits