De/FlightGear bauen - Debian: Difference between revisions
m (moved Building Flightgear - Debian/de to De/FlightGear bauen - Debian: new language options) |
(Page completely reworked. Translation based on Building_FlightGear_-_Debian, not finished yet.) |
||
Line 1: | Line 1: | ||
= FlightGear | = FlightGear auf Debian einrichten = | ||
Anleitung zum einrichten von FlightGear 2.2.0 und/oder der Entwicklerversion, hier ''GIT'' genannt, auf Debian GNU/Linux '''Stable''' 6.x (Squeeze) und '''Testing'''/'''Unstable''' (Wheezy). | |||
Auch für '''Oldstable''' 5.x (Lenny) gilt die Anleitung für Version 2.2.0. Für GIT gilt sie zumindest solange, bis sich an den Abhängigkeiten etwas entscheidendes ändert. | |||
Leute, die sich die Hände nicht schmutzig machen wollen, können es mit [[Scripted_Compilation_on_Linux_Debian/Ubuntu]] versuchen. | |||
== | == Bedingungen und Vorbereitung == | ||
Grundvoraussetzung hardwareseits ist ein Grafikchip mit OpenGL-Unterstützung, für vollen Funktionsumfang mindestens OpenGL 2.0, inklusive einem zugehörigen, funktionierenden Treiber. | |||
Pakete die benötigt werden: | |||
*gcc, g++, make, automake1.9, pkg-config | |||
*mawk (oder gawk) | |||
*cmake (min. Version 2.6.0-5) | |||
*git, subversion, wget | |||
*freeglut3-dev, libgl1-mesa-dev, libxrandr-dev | |||
*libxi-dev, libxmu-dev, libxext-dev | |||
*libopenal-dev (unter Lenny [[#libopenal|libopenal]] beachten), libalut-dev | |||
*libjpeg62-dev, libtiff4-dev, libpng12-dev | |||
*libboost1.37-dev (min 1.37, 1.40 für Lenny auf backports.debian.org erhältlich) | |||
Während des Bauens dürfen die Pakete ''simgear-dev'' und ''openscenegraph-dev'' '''nicht''' installiert sein! | |||
== Bauen und Installieren == | |||
Da die zu installierende Software versionsmässig nicht denen des Systems entsprechen, ist es ratsam FlightGear mit dem ganzen Zubehör in einem seperaten Verzeichins zu installieren. Anbieten würden sich hier /usr/local/FG-2.2.0, /opt/FG-2.2.0 oder ein Unterverzeichnis in $HOME. Für dieses Verzeichnis sollte der Benutzer schreibrechte besitzen, damit muss man für die <code>make install</code>s nicht root werden. Als Platzhalter für dieses Verzeichnis wird hier <code>$prefix</code> verwendet.<BR> | |||
Ein weiterer Platzhalter ist <code>$srcdir</code>, dieser Bezeichnet das Verzeichnis in welches die Quellkodes gespeichert werden sollen. Am Einfachsten <code>export</code>iert man diese Pfade, dann muss man sie in den folgenden Befehlen nicht händisch gegen die Platzhalter tauschen. | |||
Nachfolgend aufgelistet sind die Befehle zum Herunterladen der Quellen und zum Kompilieren und Installieren von FlightGear 2.2.0/GIT und den Abhängigkeiten, die nicht über das Paketmanagement gelöst werden können. | |||
Die Daten zu FlightGear sind ein recht grosser Download (GIT etwa 3.5 GB und 2.2.0 300 MB). Um Zeit zu sparen sollte man den starten, bevor man mit dem Kompilieren beginnt. | |||
( | |||
Für git-Anfänger lohnt sich ein Blick auf [[Git#For_dummies|git for dummies]]. Dort gibt es Infos und weitere Befehle zum Umgang mit FlightGears git-Ressourcen. | |||
=== Abhängigkeiten === | |||
Bei einigen Programmteilen ist FlightGear eng mit OpenSceneGraph und plib verbandelt. Deshalb ist es ratsam diese regelmässig auf den aktuellen Stand zu bringen. Nicht bei jedem Update von flightGear aber immer wieder mal. | |||
==== libopenal ==== | |||
'''Nur Lenny!''' Das Paket im Repo ist zu alt für [[fgcom]]. FlightGear kann man damit bauen aber es fehlen Features, wie z.B. der Dopplereffekt. | |||
cd $srcdir | |||
wget http://kcat.strangesoft.net/openal-releases/openal-soft-1.11.753.tar.bz2 | |||
tar xjf openal-soft-1.11.753.tar.bz2 | |||
cd openal-soft-1.11.753/build | |||
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" .. | |||
make install | |||
==== plib ==== | |||
Mit dem Paket plib1.8.5-dev lässt sich FlightGear zwar bauen aber es fehlen Features. Die neueste Version, erhältlich per SVN, wird [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html empfohlen]. | |||
http:// | cd $srcdir | ||
svn co https://plib.svn.sourceforge.net/svnroot/plib/trunk plib | |||
cd plib | |||
sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h | |||
./autogen.sh | |||
./configure --prefix=$prefix | |||
make install | |||
==== OpenSceneGraph ==== | |||
<u>nur 2.2.0:</u> | |||
cd $srcdir | |||
svn co -r 12072 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph | |||
svn | |||
<u>nur GIT:</u> | |||
Meistens fährt man der aktuellesten Version aus dem SVN-Repo gut. Manchmal ist OpenSceneGraph allerdings FlightGear etwas voraus, do daß das Bauen nicht möglich ist. In so einem Falle geht man in der Revision zurück bis man eine passende Kombination hat. <BR> | |||
Momentan, Februar 2011, haben wir diese Situation. Die höchste, als funktionierend bekannte, Revision ist '''12072'''. Deshalb die Quellen wie im obigen Fall für 2.2.0 beschrieben herunterladen. | |||
cd $srcdir | |||
svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph | |||
<u>2.2.0 und GIT:</u> | |||
mkdir osg-build && cd osg-build | |||
cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph | |||
make install | |||
=== FlightGear und seine Komponenten === | |||
FlightGear hängt direkt mit der Entwicklung in seinen Daten und in SimGear zusammen. Deshalb sollten die drei immer zusammen aktualisiert werden. | |||
Die <code>LDFLAGS</code> in den folgenden Befehlen dienen zum Auffinden der OpenSceneGraph- und plib-Installation. Je nach System verwendet man .... | |||
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 ==== | ||
<u>2.2.0 und GIT:</u> | |||
cd $srcdir | |||
git clone git://gitorious.org/fg/simgear.git simgear | |||
cd simgear | |||
<u>nur 2.2.0:</u> | |||
git checkout -b releases/2.2.0 origin/releases/2.2.0 | |||
<u>2.2.0 und GIT:</u> | |||
./configure --prefix=$prefix | .autogen.sh | ||
./configure --prefix=$prefix CPPFLAGS=-I$prefix/include LDFLAGS="-L$prefix/lib -L$prefix/lib64" | |||
make install | make install | ||
==== FlightGear Quellkode ==== | |||
<u>2.2.0 und GIT:</u> | |||
cd $srcdir | |||
git clone git://gitorious.org/fg/flightgear.git flightgear | |||
cd flightgear | |||
<u>nur 2.2.0:</u> | |||
git checkout -b releases/2.2.0 origin/releases/2.2.0 | |||
<u>2.2.0 und GIT:</u> | |||
./autogen.sh | |||
./configure --prefix=$prefix CPPFLAGS=-I$prefix/include/ LDFLAGS="-L$prefix/lib -L$prefix/lib64" | |||
make install | make install | ||
==== FlightGear Daten ==== | |||
<u>nur 2.2.0:</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. | |||
cd $prefix | |||
wget http://mirrors.ibiblio.org/pub/mirrors/flightgear/ftp/Shared/FlightGear-data-2.2.0.tar.bz2 | |||
tar xjf FlightGear-data-2.2.0.tar.bz2 | |||
<u>nur GIT:</u> | |||
For slow/unstable internet connections it is recommended to download the [[Git#fgdata.bundle|fgdata.bundle]] instead of cloning the data.<BR> | |||
FlightGear's primary git server on gitorious is known to have trouble cloning the data, the mapserver's mirror usually has no problems: | |||
cd $prefix | |||
git clone git://mapserver.flightgear.org/fgdata | |||
== Testlauf == | |||
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 | |||
$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]] 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. | |||
== Zubehör == | |||
Feel free to add the commands to install other FlightGear related projects. | |||
== fgrun == | === fgrun === | ||
To build [[fgrun]] one more package is required: | |||
*libfltk1.1-dev | *libfltk1.1-dev | ||
cd $srcdir | |||
svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun | svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun | ||
cd fgrun/fgrun/ | |||
./autogen.sh | ./autogen.sh | ||
./configure --prefix=$prefix | ./configure --prefix=$prefix [CPPFLAGS=-I$prefix/include/ LDFLAGS="-L$prefix/lib -L$prefix/lib64"] | ||
make install | make install | ||
=== fgcom === | |||
For [[fgcom]] unfortunately there is one more dependency which cannot be solved with packages on '''Lenny''', see [[#libopenal|libopenal]]. | |||
cd $srcdir | |||
svn co https://appfgcom.svn.sourceforge.net/svnroot/fgcom/trunk fgcom | |||
cd fgcom/src | |||
make INSTALL_BIN=$prefix/bin INSTALL_DIR=$prefix/fgcom \ | |||
PLIB_PREFIX=$prefix OPENAL_PREFIX=$prefix install | |||
{{Building}} | {{Building}} | ||
[[en: | [[en:Building_FlightGear_-_Debian]] |
Revision as of 17:42, 5 February 2011
FlightGear auf Debian einrichten
Anleitung zum einrichten von FlightGear 2.2.0 und/oder der Entwicklerversion, hier GIT genannt, auf Debian GNU/Linux Stable 6.x (Squeeze) und Testing/Unstable (Wheezy).
Auch für Oldstable 5.x (Lenny) gilt die Anleitung für Version 2.2.0. Für GIT gilt sie zumindest solange, bis sich an den Abhängigkeiten etwas entscheidendes ändert.
Leute, die sich die Hände nicht schmutzig machen wollen, können es mit Scripted_Compilation_on_Linux_Debian/Ubuntu versuchen.
Bedingungen und Vorbereitung
Grundvoraussetzung hardwareseits ist ein Grafikchip mit OpenGL-Unterstützung, für vollen Funktionsumfang mindestens OpenGL 2.0, inklusive einem zugehörigen, funktionierenden Treiber.
Pakete die benötigt werden:
- gcc, g++, make, automake1.9, pkg-config
- mawk (oder gawk)
- cmake (min. Version 2.6.0-5)
- git, subversion, wget
- freeglut3-dev, libgl1-mesa-dev, libxrandr-dev
- libxi-dev, libxmu-dev, libxext-dev
- libopenal-dev (unter Lenny libopenal beachten), libalut-dev
- libjpeg62-dev, libtiff4-dev, libpng12-dev
- libboost1.37-dev (min 1.37, 1.40 für Lenny auf backports.debian.org erhältlich)
Während des Bauens dürfen die Pakete simgear-dev und openscenegraph-dev nicht installiert sein!
Bauen und Installieren
Da die zu installierende Software versionsmässig nicht denen des Systems entsprechen, ist es ratsam FlightGear mit dem ganzen Zubehör in einem seperaten Verzeichins zu installieren. Anbieten würden sich hier /usr/local/FG-2.2.0, /opt/FG-2.2.0 oder ein Unterverzeichnis in $HOME. Für dieses Verzeichnis sollte der Benutzer schreibrechte besitzen, damit muss man für die make install
s nicht root werden. Als Platzhalter für dieses Verzeichnis wird hier $prefix
verwendet.
Ein weiterer Platzhalter ist $srcdir
, dieser Bezeichnet das Verzeichnis in welches die Quellkodes gespeichert werden sollen. Am Einfachsten export
iert man diese Pfade, dann muss man sie in den folgenden Befehlen nicht händisch gegen die Platzhalter tauschen.
Nachfolgend aufgelistet sind die Befehle zum Herunterladen der Quellen und zum Kompilieren und Installieren von FlightGear 2.2.0/GIT und den Abhängigkeiten, die nicht über das Paketmanagement gelöst werden können.
Die Daten zu FlightGear sind ein recht grosser Download (GIT etwa 3.5 GB und 2.2.0 300 MB). Um Zeit zu sparen sollte man den starten, bevor man mit dem Kompilieren beginnt.
Für git-Anfänger lohnt sich ein Blick auf git for dummies. Dort gibt es Infos und weitere Befehle zum Umgang mit FlightGears git-Ressourcen.
Abhängigkeiten
Bei einigen Programmteilen ist FlightGear eng mit OpenSceneGraph und plib verbandelt. Deshalb ist es ratsam diese regelmässig auf den aktuellen Stand zu bringen. Nicht bei jedem Update von flightGear aber immer wieder mal.
libopenal
Nur Lenny! Das Paket im Repo ist zu alt für fgcom. FlightGear kann man damit bauen aber es fehlen Features, wie z.B. der Dopplereffekt.
cd $srcdir wget http://kcat.strangesoft.net/openal-releases/openal-soft-1.11.753.tar.bz2 tar xjf openal-soft-1.11.753.tar.bz2 cd openal-soft-1.11.753/build cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" .. make install
plib
Mit dem Paket plib1.8.5-dev lässt sich FlightGear zwar bauen aber es fehlen Features. Die neueste Version, erhältlich per SVN, wird empfohlen.
cd $srcdir svn co https://plib.svn.sourceforge.net/svnroot/plib/trunk plib cd plib sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h ./autogen.sh ./configure --prefix=$prefix make install
OpenSceneGraph
nur 2.2.0:
cd $srcdir svn co -r 12072 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph
nur GIT:
Meistens fährt man der aktuellesten Version aus dem SVN-Repo gut. Manchmal ist OpenSceneGraph allerdings FlightGear etwas voraus, do daß das Bauen nicht möglich ist. In so einem Falle geht man in der Revision zurück bis man eine passende Kombination hat.
Momentan, Februar 2011, haben wir diese Situation. Die höchste, als funktionierend bekannte, Revision ist 12072. Deshalb die Quellen wie im obigen Fall für 2.2.0 beschrieben herunterladen.
cd $srcdir svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph
2.2.0 und GIT:
mkdir osg-build && cd osg-build cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph make install
FlightGear und seine Komponenten
FlightGear hängt direkt mit der Entwicklung in seinen Daten und in SimGear zusammen. Deshalb sollten die drei immer zusammen aktualisiert werden.
Die LDFLAGS
in den folgenden Befehlen dienen zum Auffinden der OpenSceneGraph- und plib-Installation. Je nach System verwendet man ....
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.
SimGear
2.2.0 und GIT:
cd $srcdir git clone git://gitorious.org/fg/simgear.git simgear cd simgear
nur 2.2.0:
git checkout -b releases/2.2.0 origin/releases/2.2.0
2.2.0 und GIT:
.autogen.sh ./configure --prefix=$prefix CPPFLAGS=-I$prefix/include LDFLAGS="-L$prefix/lib -L$prefix/lib64" make install
FlightGear Quellkode
2.2.0 und GIT:
cd $srcdir git clone git://gitorious.org/fg/flightgear.git flightgear cd flightgear
nur 2.2.0:
git checkout -b releases/2.2.0 origin/releases/2.2.0
2.2.0 und GIT:
./autogen.sh ./configure --prefix=$prefix CPPFLAGS=-I$prefix/include/ LDFLAGS="-L$prefix/lib -L$prefix/lib64" make install
FlightGear Daten
nur 2.2.0: 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.
cd $prefix wget http://mirrors.ibiblio.org/pub/mirrors/flightgear/ftp/Shared/FlightGear-data-2.2.0.tar.bz2 tar xjf FlightGear-data-2.2.0.tar.bz2
nur GIT:
For slow/unstable internet connections it is recommended to download the fgdata.bundle instead of cloning the data.
FlightGear's primary git server on gitorious is known to have trouble cloning the data, the mapserver's mirror usually has no problems:
cd $prefix git clone git://mapserver.flightgear.org/fgdata
Testlauf
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 $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 compiling fgrun or check FGo!. 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.
Zubehör
Feel free to add the commands to install other FlightGear related projects.
fgrun
To build fgrun one more package is required:
- libfltk1.1-dev
cd $srcdir svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun cd fgrun/fgrun/ ./autogen.sh ./configure --prefix=$prefix [CPPFLAGS=-I$prefix/include/ LDFLAGS="-L$prefix/lib -L$prefix/lib64"] make install
fgcom
For fgcom unfortunately there is one more dependency which cannot be solved with packages on Lenny, see libopenal.
cd $srcdir svn co https://appfgcom.svn.sourceforge.net/svnroot/fgcom/trunk fgcom cd fgcom/src make INSTALL_BIN=$prefix/bin INSTALL_DIR=$prefix/fgcom \ PLIB_PREFIX=$prefix OPENAL_PREFIX=$prefix install
|