De/FlightGear bauen - Debian: Difference between revisions

Jump to navigation Jump to search
review for 2.6.0
m (page not up to date)
(review for 2.6.0)
Line 1: Line 1:
[[File:Zeichen_101_icon.png|42px]] Seite ist nicht auf dem aktuellen Stand, bitte vorrübergehend die [[Debian|englische Version]] verwenden.
Anleitung zum Einrichten von FlightGear [[Changelog_2.6.0|2.6.0]] und/oder der Entwicklerversion, hier ''[[GIT]]'' genannt, auf Debian GNU/Linux '''Stable''' 6.x (Squeeze) und '''Testing''' (Wheezy).
 
[[User:Flughund|Flughund]] 21:08, 28 February 2012 (EST)
----
 
 
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.
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.
Dieser Artikel ist als '''Kurzanleitung''' zu verstehen. Für detailliertere Informationen bitte den Hauptartikel  [[Building FlightGear - Linux]] konsultieren.




== Bedingungen und Vorbereitung ==
== 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.
Grundvoraussetzung hardwareseits ist ein nicht schwachbrüstiger Grafikchip mit [[OpenGL]]-Unterstützung, inklusive einem zugehörigen, funktionierenden Treiber.<!-- Man muss sich wundern, wie man Anwendungen programmieren kann, die, bei so wenig Augenschmaus, so unglaublich viel Systemleistung beanspruchen. Alle Achtung! --> <BR>
 
Pakete die installiert werden müssen:
Pakete die installiert werden müssen:
* gcc, g++, make, automake, pkg-config
; Tools
* mawk (oder gawk)
su -c "apt-get install automake bzip2 cmake fluid g++ gcc git make \
* cmake  (min. Version 2.6.0-5)
  subversion tar"
* git, subversion, wget
: fluid wird nur für [[FlightGear_Admin_Wizard|fgadmin]] benötigt.
* 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 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.
; Libs
su -c "apt-get install libalut-dev libboost1.42-dev libc6-dev \
  libcurl4-openssl-dev libfltk1.1-dev libgl1-mesa-dev freeglut3-dev \
  libgtkglext1-dev libopenal-dev libpng12-dev librsvg2-dev libsvn-dev \
  libtiff4-dev libxml2-dev"
: libfltk1.1-dev wird nur für fgadmin benötigt.
: libudev-dev hinzufügen, wenn die Option <code>-DEVENT_INPUT=ON</code> verwendet werden soll.
: [[File:Zeichen_144_icon.png|21px]]Während des Bauens dürfen die Pakete simgear-dev und openscenegraph-dev aus dem Debianrepo '''nicht''' installiert sein.
: libcurl4-openssl-dev kann, je nach Geschmack, durch libcurl4-gnutls-dev ersetzt werden.
<!--
osg: libxml2-dev libcurl4-gnutls-dev/libcurl4-openssl-dev libgtkglext1-dev libopenal-dev libpng12-dev librsvg2-dev libtiff4-dev
sg: libalut-dev libboost1.42-dev libsvn-dev
fg: freeglut3-dev (libfltk1.1-dev fluid) (libudev-dev)
-->




== 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.<BR>
Da die zu installierende Software versionsmäßig nicht der des Systems entspricht, ist es ratsam, FlightGear, mit dem ganzen Zubehör, in einem separaten Verzeichins unterzubringen. Anbieten würde sich hier zum Beispiel $HOME/FG-2.6.0 oder /usr/local/FG-2.6.0. Dies hat gleichzeitig den Vorteil, daß sich so mehrere Versionen von FlightGear parallel installieren lassen. Und sogar mit unterschiedlichen Versionen von plib und/oder OSG. Für dieses Verzeichnis sollte der Benutzer Schreibrechte besitzen, nicht nur, damit man für die <code>make install</code>s nicht root werden muß. 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:
export prefix=$HOME/FG-2.6.0 && mkdir $prefix
export srcdir=$HOME/src && mkdir $srcdir


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 ist ein recht großer Download (GIT etwa 4,4 GB und 2.6.0 540 MB). Um Zeit zu sparen sollte man Selbigen 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 in [[Git#For dummies|git for dummies]]. Dort gibt es Infos und weitere Befehle zum Umgang mit FlightGears git-Ressourcen.
 
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.
 
 
=== libopenal ===
<u>Nur Lenny!</u> 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




Line 63: Line 52:




=== 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.
<u>GIT</u>-Anwender, insbesondere Entwickler, bevorzugen hier stattdessen den aktuellsten Entwicklungskode, sind sich jedoch bewusst, daß dies zu Komplikationen führen kann.<BR>
<u>2.6.0 und GIT:</u>
  cd $srcdir
  cd $srcdir
  svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.10 OpenSceneGraph  
  svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1 OpenSceneGraph
sed 's|SET(LIB_POSTFIX "64" CACHE|SET(LIB_POSTFIX "" CACHE|' -i OpenSceneGraph/CMakeLists.txt
  mkdir osg-build && cd osg-build
  mkdir osg-build && cd osg-build
  cmake -D CMAKE_BUILD_TYPE="Release" \
  cmake -D CMAKE_BUILD_TYPE="Release" -DLIB_POSTFIX="" \
       -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph
       -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph
  make install
  make install




=== SimGear ===
=== [[SimGear]] ===
<u>2.4.0 und GIT:</u>
<u>2.6.0 und GIT:</u>
  cd $srcdir
  cd $srcdir
  git clone git://mapserver.flightgear.org/simgear
  git clone git://mapserver.flightgear.org/simgear


<u>nur 2.4.0:</u>
<u>nur 2.6.0:</u>
  cd simgear
  cd simgear
  git checkout -b 2.4.0 origin/release/2.4.0
  git checkout -b 2.6.0 origin/release/2.6.0
./autogen.sh
./configure --prefix=$prefix
make install


<u>nur GIT:</u>
<u>2.6.0 und GIT:</u>
  mkdir sg-build && cd sg-build
  mkdir $srcdir/sg-build && cd $srcdir/sg-build
  cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/simgear
  cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/simgear
  make install
  make install
Line 93: Line 79:


=== FlightGear Quellkode ===
=== FlightGear Quellkode ===
<u>2.4.0 und GIT:</u>
<u>2.6.0 und GIT:</u>
  cd $srcdir
  cd $srcdir
  git clone git://mapserver.flightgear.org/flightgear
  git clone git://mapserver.flightgear.org/flightgear


<u>nur 2.4.0:</u>
<u>nur 2.6.0:</u>
  cd flightgear
  cd flightgear
  git checkout -b 2.4.0 origin/release/2.4.0
  git checkout -b 2.6.0 origin/release/2.6.0
./autogen.sh
./configure --prefix=$prefix
make install


<u>nurGIT:</u>
<u>2.6.0 und GIT:</u>
  mkdir fg-build && cd fg-build
  mkdir $srcdir/fg-build && cd $srcdir/fg-build
  cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/flightgear
  cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/flightgear
  make install
  make install
Line 111: Line 94:


=== FlightGear Daten ===
=== FlightGear Daten ===
<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.
<u>nur 2.6.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 ftp://ftp.de.flightgear.org/pub/fgfs/Shared/FlightGear-data-2.4.0.tar.bz2
  wget ftp://ftp.de.flightgear.org/pub/fgfs/Shared/FlightGear-data-2.6.0.tar.bz2
  tar xjf FlightGear-data-2.4.0.tar.bz2
  tar xjf FlightGear-data-2.6.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.<BR>
Bei langsamen/instabilen Internetanbindungen 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 data
  git clone git://mapserver.flightgear.org/fgdata data




== Probelauf ==
== Probelauf und Nachbearbeitung==
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/data
  $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.
Damit <code>fgfs</code> die selbstgebauten Bibliotheken findet, muß man Debian sagen wo sie sind. In obigem Beispiel ist die erste Zeile dafür zuständig. Durch Anfügen dieser Zeile an die <code>$HOME/.bashrc</code>, wird dies dem System dauerhaft mitgeteilt.
 
Damit man nicht, wie in der zweiten Zeile oben, jedesmal den Pfad mitteilen muß, kann man einen Link an entsprechender Stelle erstellen:
ln -s $prefix/bin/fgfs $HOME/bin/fgfs
 
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.




== Zubehör ==
== Zubehör ==
Optionale Programme für FlightGear. Jeder ist eingeladen, hier die Schritte zum Installieren Weiterer aufzuführen.
Optionale Programme für FlightGear. Jeder ist eingeladen, hier die Schritte zum Installieren Weiterer aufzuführen.
[[File:Zeichen_101_icon.png|21px]]Nachfolgende Anleitungen sind wahrscheinlich veraltet!


=== fgcom ===
=== fgcom ===
Unter <u>Lenny</u> ist es zwingend erforderlich eine neuere Version von [[#libopenal|OpenAL]] als in den Repos zu verwenden.
  cd $srcdir
  cd $srcdir
  svn co https://appfgcom.svn.sourceforge.net/svnroot/fgcom/trunk fgcom
  svn co https://appfgcom.svn.sourceforge.net/svnroot/fgcom/trunk fgcom
Line 151: Line 141:
  ./configure --prefix=$prefix
  ./configure --prefix=$prefix
  make install
  make install




{{Building}}
{{Building}}


[[en:Building FlightGear - Debian]]
[[de:FlightGear bauen - Debian]]
392

edits

Navigation menu