De/FlightGear bauen - Debian: Difference between revisions
(Update to 2.4.0) |
(reviewed for 2.4.0 (MARK II ;-))) |
||
Line 1: | Line 1: | ||
Anleitung zum Einrichten von FlightGear 2.4.0 und/oder der Entwicklerversion, hier ''GIT'' genannt, auf Debian GNU/Linux '''Stable''' 6.x (Squeeze) und '''Testing''' (Wheezy). | Anleitung zum Einrichten von FlightGear 2.4.0 und/oder der Entwicklerversion, hier ''GIT'' genannt, auf Debian GNU/Linux '''Stable''' 6.x (Squeeze) und '''Testing''' (Wheezy). | ||
Auch für '''Oldstable''' 5.x (Lenny) gilt die Anleitung für Version 2.4.0. Für GIT gilt sie zumindest solange, bis sich an den Abhängigkeiten etwas entscheidendes ändert. | Auch für '''Oldstable''' 5.x (Lenny) gilt die Anleitung für Version 2.4.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. | Leute, die sich die Hände nicht schmutzig machen wollen, können es mit [[Scripted_Compilation_on_Linux_Debian/Ubuntu | Scripted Compilation on Linux Debian/Ubuntu]] versuchen. | ||
Dieser Artikel ist als Kurzanleitung zu verstehen. Für detailiertere Informationen bitte den Hauptartikel [[Building FlightGear - Linux]] konsultieren. | Dieser Artikel ist als Kurzanleitung zu verstehen. Für detailiertere Informationen bitte den Hauptartikel [[Building_FlightGear_-_Linux | Building FlightGear - Linux]] konsultieren. | ||
Line 12: | Line 11: | ||
Grundvoraussetzung hardwareseits ist ein Grafikchip mit OpenGL-Unterstützung, für vollen Funktionsumfang mindestens OpenGL 2.0, inklusive einem zugehörigen, funktionierenden Treiber. | 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 | Pakete die installiert werden müssen: | ||
* gcc, g++, make, automake, pkg-config | *gcc, g++, make, automake, pkg-config | ||
* mawk (oder gawk) | *mawk (oder gawk) | ||
* cmake (min. Version 2.6.0-5) | *cmake (min. Version 2.6.0-5) | ||
* git, subversion, wget | *git, subversion, wget | ||
* freeglut3-dev, libgl1-mesa-dev, libxrandr-dev | *(freeglut3-dev,) libgl1-mesa-dev, libxrandr-dev | ||
* libxi-dev, libxmu-dev, libxext-dev | *libxi-dev, libxmu-dev, libxext-dev | ||
* libopenal-dev (unter Lenny [[#libopenal|libopenal]] beachten), libalut-dev | *libopenal-dev (unter Lenny [[#libopenal|libopenal]] beachten), libalut-dev | ||
* libjpeg62-dev, libtiff4-dev, libpng12-dev | *libjpeg62-dev, libtiff4-dev, libpng12-dev | ||
* libboost1.37-dev (min 1.37, 1.40 für Lenny auf backports.debian.org erhältlich) | *libboost1.37-dev (min 1.37, 1.40 für Lenny auf backports.debian.org erhältlich) | ||
Während des Bauens | Während des Bauens darf das Paket ''simgear-dev'' '''nicht''' installiert sein! Das Selbe gilt für ''openscenegraph-dev'', wenn die Version aus dem OpenSceneGraph-SVN-Repo zum Kompilieren verwendet wird. | ||
== Bauen und Installieren == | == Bauen und Installieren == | ||
Da die zu installierende Software versionsmäßig nicht denen des Systems entsprechen, ist es ratsam FlightGear mit dem ganzen Zubehör in einem separaten Verzeichins zu installieren. Anbieten würden sich hier /usr/local/FG-2.4.0, /opt/FG-2.4.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.< | Da die zu installierende Software versionsmäßig nicht denen des Systems entsprechen, ist es ratsam, FlightGear mit dem ganzen Zubehör in einem separaten Verzeichins zu installieren. Anbieten würden sich hier /usr/local/FG-2.4.0, /opt/FG-2.4.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. | 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. | ||
Line 34: | Line 33: | ||
Die Daten zu FlightGear sind ein recht großer Download (GIT etwa 3.5 GB und 2.4.0 410 MB). Um Zeit zu sparen sollte man den starten, bevor man mit dem Kompilieren beginnt. | Die Daten zu FlightGear sind ein recht großer Download (GIT etwa 3.5 GB und 2.4.0 410 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# | 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. | ||
Line 59: | Line 58: | ||
=== OpenSceneGraph === | === OpenSceneGraph === | ||
<u>GIT</u>-Anwender, insbesondere Entwickler, bevorzugen hier das jüngste Release oder gar den aktuellsten Entwicklungskode, sind sich jedoch bewusst, daß dies zu Komplikationen führen kann. Zum Zeitpunkt des Erscheinens von 2.4.0 gibt es mit neuerem als OpenSceneGraph-2.9.10 bei einigen Flugzeugen Probleme mit der Darstellung. | |||
ln -s lib $prefix/lib64 # Nur bei amd64, wenn nicht schon vorhanden. | |||
cd $srcdir | cd $srcdir | ||
svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph- | svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.10 OpenSceneGraph | ||
mkdir osg-build && cd osg-build | mkdir osg-build && cd osg-build | ||
cmake -D CMAKE_BUILD_TYPE="Release" \ | cmake -D CMAKE_BUILD_TYPE="Release" \ | ||
Line 71: | Line 71: | ||
<u>2.4.0 und GIT:</u> | <u>2.4.0 und GIT:</u> | ||
cd $srcdir | cd $srcdir | ||
git clone git:// | git clone git://mapserver.flightgear.org/simgear | ||
cd simgear | cd simgear | ||
<u>nur 2.4.0:</u> | <u>nur 2.4.0:</u> | ||
git checkout -b | git checkout -b 2.4.0 origin/release/2.4.0 | ||
<u>2.4.0 und GIT:</u> | <u>2.4.0 und GIT:</u> | ||
./autogen.sh | ./autogen.sh | ||
./configure --prefix=$prefix | ./configure --prefix=$prefix | ||
make install | make install | ||
Line 86: | Line 86: | ||
<u>2.4.0 und GIT:</u> | <u>2.4.0 und GIT:</u> | ||
cd $srcdir | cd $srcdir | ||
git clone git:// | git clone git://mapserver.flightgear.org/flightgear | ||
cd flightgear | cd flightgear | ||
<u>nur 2.4.0:</u> | <u>nur 2.4.0:</u> | ||
git checkout -b | git checkout -b 2.4.0 origin/release/2.4.0 | ||
<u>2.4.0 und GIT:</u> | <u>2.4.0 und GIT:</u> | ||
./autogen.sh | ./autogen.sh | ||
./configure --prefix=$prefix | ./configure --prefix=$prefix | ||
make install | make install | ||
=== FlightGear Daten === | === FlightGear Daten === | ||
<u>nur 2.4.0:</u> | <u>nur 2.4.0:</u> Falls der Download nicht geht, bitte einen aus der [http://flightgear.org/mirrors.html Liste der Server] auswählen. | ||
cd $prefix | cd $prefix | ||
wget | wget ftp://ftp.de.flightgear.org/pub/fgfs/Shared/FlightGear-data-2.4.0.tar.bz2 | ||
tar xjf FlightGear-data-2.4.0.tar.bz2 | tar xjf FlightGear-data-2.4.0.tar.bz2 | ||
<u>nur GIT:</u> | <u>nur GIT:</u> | ||
Bei langsamen/instabilen Internetanbidungen sollte anstelle des Clonens der FlightGear-Daten das [[Git#fgdata.bundle|fgdata.bundle]] heruntergeladen werden.< | Bei langsamen/instabilen Internetanbidungen sollte anstelle des Clonens der FlightGear-Daten das [[Git#fgdata.bundle|fgdata.bundle]] heruntergeladen werden.<BR> | ||
cd $prefix | cd $prefix | ||
git clone git://mapserver.flightgear.org/fgdata | git clone git://mapserver.flightgear.org/fgdata data | ||
== Probelauf == | == Probelauf == | ||
Nachdem Alles erfolgreich installiert ist wird es Zeit für einen Test: | Nachdem Alles erfolgreich installiert ist, wird es Zeit für einen Test: | ||
export LD_LIBRARY_PATH=$prefix/lib/:$LD_LIBRARY_PATH | export LD_LIBRARY_PATH=$prefix/lib/:$LD_LIBRARY_PATH | ||
$prefix/bin/fgfs --fg-root=$prefix/ | $prefix/bin/fgfs --fg-root=$prefix/data | ||
Für zukünftige Starts aus der Konsole lohnt sich ein Blick auf [[fgfsrc]]. Wer eine grafische Oberfläche zum Starten bevorzugt, sollte einen Blick auf [[FGo!]] oder [[#fgrun|fgrun]] werfen. Damit <code>fgfs</code> die benötigten Bibliotheken findet, muß man Debian sagen wo die sind. In obigem Beispiel wird das durch setzen von <code>$LD_LIBRARY_PATH</code> erreicht. | Für zukünftige Starts aus der Konsole lohnt sich ein Blick auf [[fgfsrc]]. Wer eine grafische Oberfläche zum Starten bevorzugt, sollte einen Blick auf [[FGo!]] oder [[#fgrun|fgrun]] werfen. Damit <code>fgfs</code> die benötigten Bibliotheken findet, muß man Debian sagen wo die sind. In obigem Beispiel wird das durch setzen von <code>$LD_LIBRARY_PATH</code> erreicht. | ||
Line 128: | Line 127: | ||
cd fgcom/src | cd fgcom/src | ||
make INSTALL_BIN=$prefix/bin INSTALL_DIR=$prefix/fgcom \ | make INSTALL_BIN=$prefix/bin INSTALL_DIR=$prefix/fgcom \ | ||
PLIB_PREFIX=$prefix OPENAL_PREFIX=$prefix install | PLIB_PREFIX=$prefix [OPENAL_PREFIX=$prefix] install | ||
=== fgrun === | === fgrun === | ||
Ein weiteres Paket wird zum Bauen von [[fgrun]] benötigt: | Ein weiteres Paket wird zum Bauen von [[fgrun]] benötigt: | ||
* libfltk1.1-dev | *libfltk1.1-dev | ||
cd $srcdir | cd $srcdir | ||
svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun | svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun | ||
Line 145: | Line 144: | ||
{{Building}} | {{Building}} | ||
[[en: | [[en:Building_FlightGear_-_Debian]] |
Revision as of 17:57, 18 August 2011
Anleitung zum Einrichten von FlightGear 2.4.0 und/oder der Entwicklerversion, hier GIT genannt, auf Debian GNU/Linux Stable 6.x (Squeeze) und Testing (Wheezy).
Auch für Oldstable 5.x (Lenny) gilt die Anleitung für Version 2.4.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.
Dieser Artikel ist als Kurzanleitung zu verstehen. Für detailiertere Informationen bitte den Hauptartikel Building FlightGear - Linux konsultieren.
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 installiert werden müssen:
- gcc, g++, make, automake, 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 darf das Paket simgear-dev nicht installiert sein! Das Selbe gilt für openscenegraph-dev, wenn die Version aus dem OpenSceneGraph-SVN-Repo zum Kompilieren verwendet wird.
Bauen und Installieren
Da die zu installierende Software versionsmäßig nicht denen des Systems entsprechen, ist es ratsam, FlightGear mit dem ganzen Zubehör in einem separaten Verzeichins zu installieren. Anbieten würden sich hier /usr/local/FG-2.4.0, /opt/FG-2.4.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.4.0/GIT und den Abhängigkeiten, die nicht über das Paketmanagement gelöst werden können.
Die Daten zu FlightGear sind ein recht großer Download (GIT etwa 3.5 GB und 2.4.0 410 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.
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
GIT-Anwender, insbesondere Entwickler, bevorzugen hier das jüngste Release oder gar den aktuellsten Entwicklungskode, sind sich jedoch bewusst, daß dies zu Komplikationen führen kann. Zum Zeitpunkt des Erscheinens von 2.4.0 gibt es mit neuerem als OpenSceneGraph-2.9.10 bei einigen Flugzeugen Probleme mit der Darstellung.
ln -s lib $prefix/lib64 # Nur bei amd64, wenn nicht schon vorhanden. cd $srcdir svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.10 OpenSceneGraph mkdir osg-build && cd osg-build cmake -D CMAKE_BUILD_TYPE="Release" \ -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph make install
SimGear
2.4.0 und GIT:
cd $srcdir git clone git://mapserver.flightgear.org/simgear cd simgear
nur 2.4.0:
git checkout -b 2.4.0 origin/release/2.4.0
2.4.0 und GIT:
./autogen.sh ./configure --prefix=$prefix make install
FlightGear Quellkode
2.4.0 und GIT:
cd $srcdir git clone git://mapserver.flightgear.org/flightgear cd flightgear
nur 2.4.0:
git checkout -b 2.4.0 origin/release/2.4.0
2.4.0 und GIT:
./autogen.sh ./configure --prefix=$prefix make install
FlightGear Daten
nur 2.4.0: Falls der Download nicht geht, bitte einen aus der Liste der Server auswählen.
cd $prefix wget ftp://ftp.de.flightgear.org/pub/fgfs/Shared/FlightGear-data-2.4.0.tar.bz2 tar xjf FlightGear-data-2.4.0.tar.bz2
nur GIT:
Bei langsamen/instabilen Internetanbidungen sollte anstelle des Clonens der FlightGear-Daten das fgdata.bundle heruntergeladen werden.
cd $prefix git clone git://mapserver.flightgear.org/fgdata data
Probelauf
Nachdem Alles erfolgreich installiert ist, wird es Zeit für einen Test:
export LD_LIBRARY_PATH=$prefix/lib/:$LD_LIBRARY_PATH $prefix/bin/fgfs --fg-root=$prefix/data
Für zukünftige Starts aus der Konsole lohnt sich ein Blick auf fgfsrc. Wer eine grafische Oberfläche zum Starten bevorzugt, sollte einen Blick auf FGo! oder fgrun werfen. Damit fgfs
die benötigten Bibliotheken findet, muß man Debian sagen wo die sind. In obigem Beispiel wird das durch setzen von $LD_LIBRARY_PATH
erreicht.
Zubehör
Optionale Programme für FlightGear. Jeder ist eingeladen, hier die Schritte zum Installieren Weiterer aufzuführen.
fgcom
Unter Lenny ist es zwingend erforderlich eine neuere Version von OpenAL als in den Repos zu verwenden.
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
fgrun
Ein weiteres Paket wird zum Bauen von fgrun benötigt:
- libfltk1.1-dev
cd $srcdir svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun cd fgrun/fgrun/ ./autogen.sh ./configure --prefix=$prefix make install
|