De/FlightGear bauen - Debian: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
mNo edit summary
m (article is outdated)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Languages|Building_Flightgear_-_Debian}}
{{warning|Dieser Artikel ist verwaist. Bitte das Englische Original 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).


= FlightGear 1.9.1 oder aus den CVS-Ressourcen bauen =
Leute, die sich die Hände nicht schmutzig machen wollen, können es mit [[Scripted Compilation on Linux Debian/Ubuntu]] versuchen.


FlightGear 1.9.1 oder aus den CVS-Ressourcen auf Etch and Lenny selber kompilieren.
Dieser Artikel ist als '''Kurzanleitung''' zu verstehen. Für detailliertere Informationen bitte den Hauptartikel  [[Building FlightGear - Linux]] konsultieren.


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


== Bedingungen und Vorbereitung ==
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:
; Tools
su -c "apt-get install automake bzip2 cmake fluid g++ gcc git make \
  subversion tar"
: fluid wird nur für [[FlightGear_Admin_Wizard|fgadmin]] benötigt.


== Voraussetzungen ==
; 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)
-->


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


Eine Stange von Paketen muß noch im System vorhanden sein:
== Bauen und Installieren ==
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:
export prefix=$HOME/FG-2.6.0 && mkdir $prefix
export srcdir=$HOME/src && mkdir $srcdir


* gcc, g++, automake1.9
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.
* 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.
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.




==== backports.org zu den Paketquellen hinzufügen ====
=== plib ===
(nur unter Etch und nur bei CVS)
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].
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


'''hardcore:''' folgende Zeile zu /etc/apt/sources.list hinzufügen:
deb http://ftp.de.debian.org/backports.org/ etch-backports main contrib


'''Synaptic:'''
=== [[OpenSceneGraph]] ===
  Binaries (deb)
<u>GIT</u>-Anwender, insbesondere Entwickler, bevorzugen hier stattdessen den aktuellsten Entwicklungskode, sind sich jedoch bewusst, daß dies zu Komplikationen führen kann.<BR>
  Address:      http://ftp.de.debian.org/backports.org/
<u>2.6.0 und GIT:</u>
  Distribution: etch-backports
  cd $srcdir
  Section(s):    main contrib
  svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1 OpenSceneGraph
  mkdir osg-build && cd osg-build
  cmake -D CMAKE_BUILD_TYPE="Release" -DLIB_POSTFIX="" \
      -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph
  make install


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


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


== Quellen besorgen ==
<u>nur 2.6.0:</u>
cd simgear
git checkout -b 2.6.0 origin/release/2.6.0


'''plib'''<BR>
<u>2.6.0 und GIT:</u>
Hier genügt das 1.8.5 Release, FG benötigt zur Zeit keine der bisherigen Neuerungen.<BR>
mkdir $srcdir/sg-build && cd $srcdir/sg-build
http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz <BR>
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/simgear
http://plib.sourceforge.net/download.html
make install




'''OpenSceneGraph'''<BR>
=== FlightGear Quellkode ===
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.<BR>
<u>2.6.0 und GIT:</u>
http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases<BR>
cd $srcdir
oder, für die CVS Version, das Aktuellste per SVN:
  git clone git://mapserver.flightgear.org/flightgear
  svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph


<u>nur 2.6.0:</u>
cd flightgear
git checkout -b 2.6.0 origin/release/2.6.0


'''SimGear''' <BR>
<u>2.6.0 und GIT:</u>
1.9.1: ftp://ftp.simgear.org/pub/simgear/Source/SimGear-1.9.1.tar.gz <BR>
  mkdir $srcdir/fg-build && cd $srcdir/fg-build
CVS (FlightGear ist eng mit SimGear verbunden, deshalb am besten bei jedem FlightGear-Update auch SimGear neu bauen):<BR>
  cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/flightgear
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
  make install
#CVS passwd: guest
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source
 
 
'''FlightGear source'''<BR>
1.9.1: http://www.very-clever.com/download/flightgear/Source/ <BR>
CVS:<BR>
  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''' <BR>
1.9.1: http://www.very-clever.com/download/flightgear/Shared/FlightGear-data-1.9.0.tar.bz2 <BR>
CVS: (auch dieses Verzeichnis hängt eng mit FG zusammen und sollte deshalb auch bei jedem Update mit einbezogen werden):<BR>
  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...


=== FlightGear Daten ===
<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
wget ftp://ftp.de.flightgear.org/pub/fgfs/Shared/FlightGear-data-2.6.0.tar.bz2
tar xjf FlightGear-data-2.6.0.tar.bz2


== Bauen und Installieren ==
<u>nur GIT:</u>
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''.  
Bei langsamen/instabilen Internetanbindungen sollte, anstelle des Clonens der FlightGear-Daten, das [[Git#fgdata.bundle|fgdata.bundle]] heruntergeladen werden.<BR>
 
cd $prefix
Die folgenden Code-Blöcke im jeweiligen Verzeichnis mit dem Quellcode, ausgenommen die für OSG, ausführen.
git clone git://mapserver.flightgear.org/fgdata data


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


== Probelauf und Nachbearbeitung==
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


'''OpenSceneGraph'''<BR>
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.
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, ''$osgsrcdir'' welche den Pfad zu den 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
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.


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


== Zubehör ==
Optionale Programme für FlightGear. Jeder ist eingeladen, hier die Schritte zum Installieren Weiterer aufzuführen.


'''FlightGear'''
[[File:Zeichen_101_icon.png|21px]]Nachfolgende Anleitungen sind wahrscheinlich veraltet!
./autogen.sh
./configure --prefix=$prefix
make
make install




'''Der erste Probelauf:'''
=== fgcom ===
  export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH
cd $srcdir
$prefix/bin/fgfs --fg-root=/path/to/data
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
Wie in [[FGCOM_Testing#Special_for_Linux_.28.alsoftrc.29|FGCOM Testing]] beschrieben, eine Datei .alsoftrc anlegen.




== fgrun ==
=== fgrun ===
Um [[ fgrun ]] bauen zu können werden zusätzliche Pakete benötigt:
Ein weiteres Paket wird zum Bauen von [[fgrun]] benötigt:
*libfltk1.1-dev
*libfltk1.1-dev
*fluid
cd $srcdir
 
Die Quellen besorgen:
  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/
Bauen: <BR>
''$prefix'' wie oben
  ./autogen.sh
  ./autogen.sh
  ./configure --prefix=$prefix
  ./configure --prefix=$prefix
make
  make install
  make install


{{Building}}
{{Building}}
[[en:Building FlightGear - Debian]]

Latest revision as of 10:33, 2 August 2014

Warnung  Dieser Artikel ist verwaist. Bitte das Englische Original verwenden'!

Anleitung zum Einrichten von FlightGear 2.6.0 und/oder der Entwicklerversion, hier GIT genannt, auf Debian GNU/Linux Stable 6.x (Squeeze) und Testing (Wheezy).

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 detailliertere Informationen bitte den Hauptartikel Building FlightGear - Linux konsultieren.


Bedingungen und Vorbereitung

Grundvoraussetzung hardwareseits ist ein nicht schwachbrüstiger Grafikchip mit OpenGL-Unterstützung, inklusive einem zugehörigen, funktionierenden Treiber.
Pakete die installiert werden müssen:

Tools
su -c "apt-get install automake bzip2 cmake fluid g++ gcc git make \
  subversion tar"
fluid wird nur für fgadmin benötigt.
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 -DEVENT_INPUT=ON verwendet werden soll.
Zeichen 144 icon.pngWä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.


Bauen und Installieren

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 make installs nicht root werden muß. 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 exportiert 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

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.

Für git-Anfänger lohnt sich ein Blick in git for dummies. Dort gibt es Infos und weitere Befehle zum Umgang mit FlightGears git-Ressourcen.


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 stattdessen den aktuellsten Entwicklungskode, sind sich jedoch bewusst, daß dies zu Komplikationen führen kann.
2.6.0 und GIT:

cd $srcdir
svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.1 OpenSceneGraph
mkdir osg-build && cd osg-build
cmake -D CMAKE_BUILD_TYPE="Release" -DLIB_POSTFIX="" \
      -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/OpenSceneGraph
make install


SimGear

2.6.0 und GIT:

cd $srcdir
git clone git://mapserver.flightgear.org/simgear

nur 2.6.0:

cd simgear
git checkout -b 2.6.0 origin/release/2.6.0

2.6.0 und GIT:

mkdir $srcdir/sg-build && cd $srcdir/sg-build
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/simgear
make install


FlightGear Quellkode

2.6.0 und GIT:

cd $srcdir
git clone git://mapserver.flightgear.org/flightgear

nur 2.6.0:

cd flightgear
git checkout -b 2.6.0 origin/release/2.6.0

2.6.0 und GIT:

mkdir $srcdir/fg-build && cd $srcdir/fg-build
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $srcdir/flightgear
make install


FlightGear Daten

nur 2.6.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.6.0.tar.bz2
tar xjf FlightGear-data-2.6.0.tar.bz2

nur GIT: Bei langsamen/instabilen Internetanbindungen sollte, anstelle des Clonens der FlightGear-Daten, das fgdata.bundle heruntergeladen werden.

cd $prefix
git clone git://mapserver.flightgear.org/fgdata data


Probelauf und Nachbearbeitung

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

Damit fgfs 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 $HOME/.bashrc, 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 werfen.


Zubehör

Optionale Programme für FlightGear. Jeder ist eingeladen, hier die Schritte zum Installieren Weiterer aufzuführen.

Zeichen 101 icon.pngNachfolgende Anleitungen sind wahrscheinlich veraltet!


fgcom

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

Wie in FGCOM Testing beschrieben, eine Datei .alsoftrc anlegen.


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