Template:Languages


FlightGear 1.9.1 oder aus den CVS-Ressourcen bauen

FlightGear 1.9.1 oder aus den CVS-Ressourcen auf Etch and Lenny selber kompilieren.

Für Anfänger ohne jegliche Kenntnisse übers Kompilieren und für Leute die sich die Hände nicht schmutzig machen wollen gibt es ein Script welches FlightGear und Zubehör aus den CVS/SVN Quellen erstellt. http://wiki.flightgear.org/index.php/Scripted_Compilation_on_Linux_Debian/Ubuntu


Voraussetzungen

Ein OpenGL-fähiger Grafikchip inklusive dem passenden und korrekt installierten Treiber.

Eine Stange von Paketen muß noch im System vorhanden sein:

  • gcc, g++, automake1.9
  • mawk (oder gawk)
  • cmake min Version 2.6.0-5, unter Etch von backports.org!
  • cvs, subversion
  • freeglut3-dev, libgl1-mesa-dev, libxrandr-dev
  • libxi-dev, libxmu-dev, libxext-dev
  • libopenal-dev, libalut-dev
  • libgtkglext1-dev
  • libjpeg62-dev, libtiff4-dev, zlib1g-dev
  • libboost1.35-dev unter Etch von backports.org!

Zum Kompilieren sollten die Pakete simgear-dev und openscenegraph-dev entfernt werden. Danach können sie gefahrlos wieder installiert werden.


backports.org zu den Paketquellen hinzufügen

(nur unter Etch und nur bei CVS)

hardcore: folgende Zeile zu /etc/apt/sources.list hinzufügen:

deb http://ftp.de.debian.org/backports.org/ etch-backports main contrib

Synaptic:

Binaries (deb)
Address:       http://ftp.de.debian.org/backports.org/
Distribution:  etch-backports
Section(s):    main contrib

Danach nicht vergessen die Paketquellen neu zu laden (apt-get update)!
Weitere Spiegelserver findet man unter: http://www.backports.org/debian/README.mirrors.html


Quellen besorgen

plib
Hier genügt das 1.8.5 Release, FG benötigt zur Zeit keine der bisherigen Neuerungen.
http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz
http://plib.sourceforge.net/download.html


OpenSceneGraph
Um die CVS Version zu bauen reicht meist das neueste DeveloperRelease, für 1.9.1 nimmt man am besten das 2.7.8 Release.
http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases
oder, für die CVS Version, das Aktuellste per SVN:

svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph


SimGear
1.9.1: ftp://ftp.simgear.org/pub/simgear/Source/SimGear-1.9.1.tar.gz
CVS (FlightGear ist eng mit SimGear verbunden, deshalb am besten bei jedem FlightGear-Update auch SimGear neu bauen):

cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
#CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source


FlightGear source
1.9.1: http://www.very-clever.com/download/flightgear/Source/
CVS:

cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
#CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co source

FlightGear data
1.9.1: http://www.very-clever.com/download/flightgear/Shared/FlightGear-data-1.9.0.tar.bz2
CVS: (auch dieses Verzeichnis hängt eng mit FG zusammen und sollte deshalb auch bei jedem Update mit einbezogen werden):

cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data

Während das data-Verzeichnis heruntergeladen wird (CVS: ~ 2 GB / 1.9.1: 230 MB) haben wir genügend Zeit um FlightGear zu...


Bauen und Installieren

Da nicht nur FlightGear und SimGear sondern auch benötigte Libs gebaut werden und diese auch noch, in anderen Versionen allerdings, in den Paketquellen erhältlich sind, sollte man Alles in einem vom System unabhängigen Verzeichnis installieren. Etwa in /usr/local/fg-cvs, /opt/fg-cvs oder $HOME/FG-CVS. Gibt man dem eigenen Benutzer Schreibrechte im Selbigen braucht man bei der Installation, und auch bei nachfolgenden Updtades, keine root-Rechte. Als Platzhalter für dieses Verzeichnis dient in folgenden Code-Blöcken $prefix.

Die folgenden Code-Blöcke im jeweiligen Verzeichnis mit dem Quellcode, ausgenommen die für OSG, ausführen.

plib

./configure --prefix=$prefix
make
make install


OpenSceneGraph
OSG verwendet cmake welches die Binaries in einem zu den Quellen separaten Verzeichnis erstellt. Deshalb müssen wir jetzt ein neues Verzeichnis erstellen und in selbiges wechseln. Ausserdem benötigen wir eine weitere Variable im Code-Block, nämlich eine für das Verzeichnis das die OSG Quellen enthält, also z.B. /usr/src/OpenSceneGraph-2.7.8

cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3" -D CMAKE_C_FLAGS="-O3" \
   -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $osgsrcdir
make
make install
export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH


SimGear

./autogen.sh
./configure --prefix=$prefix --with-jpeg-factory
make
make install


FlightGear

./autogen.sh
./configure --prefix=$prefix
make
make install


Der erste Probelauf:

export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH
$prefix/bin/fgfs --fg-root=/path/to/data


fgrun

Um fgrun bauen zu können werden zusätzliche Pakete benötigt:

  • libfltk1.1-dev
  • fluid

Die Quellen besorgen:

svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun

Bauen:
$prefix wie oben

./autogen.sh
./configure --prefix=$prefix
make
make install