De/FlightGear bauen - Debian: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(page created and partly translated)
 
(finished translation)
Line 3: Line 3:
FlightGear 1.9.1 oder aus den CVS-Ressourcen auf Etch and Lenny selber kompilieren.
FlightGear 1.9.1 oder aus den CVS-Ressourcen auf Etch and Lenny selber kompilieren.


Für Anfänger ohne jegliche Kenntnisse zum Komilieren und für Leute die sich die Hände nicht schmutzig machen wollen gibt es ein Script welches FglighGear und Zubehör aus den CVS/SVN Quellen erstellt. http://wiki.flightgear.org/index.php/Scripted_Compilation_on_Linux_Debian/Ubuntu
Für Anfänger ohne jegliche Kenntnisse zum Komilieren 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 ==
== Voraussetzungen ==
Line 11: Line 12:
Eine Stange von Paketen muß noch im System vorhanden sein:
Eine Stange von Paketen muß noch im System vorhanden sein:


    * gcc, g++, automake1.9
* gcc, g++, automake1.9
    * mawk (oder gawk)
* mawk (oder gawk)
    * cmake min Version 2.6.0-5, unter Etch von backports.org!
* cmake min Version 2.6.0-5, unter Etch von backports.org!
    * cvs, subversion
* cvs, subversion
    * 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, libalut-dev
* libopenal-dev, libalut-dev
    * libgtkglext1-dev
* libgtkglext1-dev
    * libjpeg62-dev, libtiff4-dev, zlib1g-dev
* libjpeg62-dev, libtiff4-dev, zlib1g-dev
    * libboost1.35-dev unter Etch von backports.org!  
* libboost1.35-dev unter Etch von backports.org!  


Zum Komilieren sollten die Pakete ''simgear-dev'' und ''openscenegraph-dev'' entfernt werden. Danach können sie gefahrlos wieder installiert werden.
Zum Komilieren 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 ====
==== backports.org zu den Paketquellen hinzufügen ====
(nur unter Etch)
(nur unter Etch und nur bei CVS)


'''hardcore:''' folgende Zeile zu /etc/apt/sources.list hinzufügen:
'''hardcore:''' folgende Zeile zu /etc/apt/sources.list hinzufügen:
Line 36: Line 38:
  Section(s):    main contrib
  Section(s):    main contrib


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


== Fetch the Sources ==
 
== Quellen besorgen ==


'''plib'''<BR>
'''plib'''<BR>
No need to fetch it by CVS because there was no update for a long time...<BR>
Hier genügt das 1.8.5 Release, FG benötigt zur Zeit keine der bisherigen Neuerungen.<BR>
http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz <BR>
http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz <BR>
http://plib.sourceforge.net/download.html
http://plib.sourceforge.net/download.html
Line 48: Line 51:


'''OpenSceneGraph'''<BR>
'''OpenSceneGraph'''<BR>
For CVS one may use the latest developer release (for FG 1.9.1 OSG 2.7.8 is known to work):<BR>
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>
http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases<BR>
http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases<BR>
or fetch it via SVN:
oder, für die CVS Version, das Aktuellste per SVN:
  svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph
  svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph


Line 56: Line 59:
'''SimGear''' <BR>
'''SimGear''' <BR>
1.9.1: ftp://ftp.simgear.org/pub/simgear/Source/SimGear-1.9.1.tar.gz <BR>
1.9.1: ftp://ftp.simgear.org/pub/simgear/Source/SimGear-1.9.1.tar.gz <BR>
or CVS: <BR>
CVS (FlightGear ist eng mit SimGear verbunden, deshalb am besten bei jedem FlightGear-Update auch SimGear neu bauen):<BR>
  cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
  cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
  #CVS passwd: guest
  #CVS passwd: guest
Line 64: Line 67:
'''FlightGear source'''<BR>
'''FlightGear source'''<BR>
1.9.1: http://www.very-clever.com/download/flightgear/Source/ <BR>
1.9.1: http://www.very-clever.com/download/flightgear/Source/ <BR>
or CVS:<BR>
CVS:<BR>
  cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
  cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
  #CVS passwd: guest
  #CVS passwd: guest
Line 71: Line 74:
'''FlightGear data''' <BR>
'''FlightGear data''' <BR>
1.9.1: http://www.very-clever.com/download/flightgear/Shared/FlightGear-data-1.9.0.tar.bz2 <BR>
1.9.1: http://www.very-clever.com/download/flightgear/Shared/FlightGear-data-1.9.0.tar.bz2 <BR>
or CVS: <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
  cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data


While data (CVS: ~ 2 GB / 1.9.1: 230 MB) gets downloaded we have plenty of time to...
Während das data-Verzeichnis heruntergeladen wird (CVS: ~ 2 GB / 1.9.1: 230 MB) haben wir genügend Zeit um FlightGear zu...


== Build and install ==
Because we are going to install versions different to the ones in the repositries it is hardly recommended to install FG-CVS in a place independet to the base system such as /usr/local/fg-cvs, /opt/fg-cvs or in a subdirectory of your $HOME. I suggest to make this directory writeable by the user that there is no need to become root for the 'make install' commands. I'll use ''$prefix as'' a placeholder for this, so in the following instructions one have to replace it by the local path.


Subsequent the commands to build each source. Execute them in the according source directory, except for OSG.
== 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'''
'''plib'''
Line 85: Line 89:
  make
  make
  make install
  make install


'''OpenSceneGraph'''<BR>
'''OpenSceneGraph'''<BR>
Here you'll encounter another placeholder ''$osgsrcdir'' which has to be replaced by path of the OSG source directory. This is because cmake demands a build directory separate to its source directory. So 'mkdir' one and 'cd' into it.
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" \
  cmake -D CMAKE_BUILD_TYPE="Release" -D CMAKE_CXX_FLAGS="-O3" -D CMAKE_C_FLAGS="-O3" \
     -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $osgsrcdir
     -D CMAKE_INSTALL_PREFIX:PATH="$prefix" $osgsrcdir
Line 101: Line 106:
  make
  make
  make install
  make install


'''FlightGear'''
'''FlightGear'''
Line 107: Line 113:
  make
  make
  make install
  make install
----


'''Trial run:'''
 
'''Der erste Probelauf:'''
  export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH
  $prefix/bin/fgfs --fg-root=/path/to/data
  $prefix/bin/fgfs --fg-root=/path/to/data


----


== fgrun ==
== fgrun ==
To build [[ fgrun ]] some more packages are required:
Um [[ fgrun ]] bauen zu können werden zusätzliche Pakete benötigt:
*libfltk1.1-dev
*libfltk1.1-dev
*fluid  
*fluid  


 
Die Quellen besorgen:
Fetch the source:
  svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun
  svn co http://fgrun.svn.sourceforge.net/svnroot/fgrun/trunk fgrun


 
Bauen: <BR>
Build it: <BR>
''$prefix'' wie oben
''$prefix'' like above
  ./autogen.sh
  ./autogen.sh
  ./configure --prefix=$prefix
  ./configure --prefix=$prefix
  make
  make
  make install
  make install
{{Languages|Building_Flightgear_-_Debian}}
{{Building}}

Revision as of 21:36, 21 September 2009

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 zum Komilieren 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 Komilieren 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 Paketqullen 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

Template:Languages