Building FlightGear - Devuan: Difference between revisions

Update for FG 2018.1 and to Devuan Ascii
No edit summary
(Update for FG 2018.1 and to Devuan Ascii)
Line 1: Line 1:
HowTo build [[FlightGear]] <u>stable</u> ([[Changelog_2017.3|2017.3]]) or bleeding edge development version, hereinafter simply called <u>[[FlightGear_Git#Repositories_and_branches | next]]</u>, on [https://devuan.org/ Devuan] GNU/Linux Stable (<u>Jessie</u>). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.<br />
HowTo build [[FlightGear]] <u>Stable</u> ([[Changelog_2018.1|2018.1]]) or bleeding edge development version, hereinafter simply called <u>[[FlightGear_Git#Repositories_and_branches | Next]]</u>, on [https://devuan.org/ Devuan] GNU/Linux Stable (Ascii). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.<br />
Instructions probabaly apply on [https://debian.org/ Debian] GNU/Linux Jessie, too.
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.


The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].


<!-- If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]]. -->
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].


[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands may cause trouble.
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.




Line 13: Line 13:


; Tools
; Tools
  su -c "apt-get install automake cmake coreutils g++ gcc git make sed subversion"
  su -c "apt-get install cmake g++ gcc git make sed"




; Dependencies
; Dependencies
  su -c "apt-get install  \
  su -c "apt-get install  \
   freeglut3-dev   libboost-dev     libcurl4-openssl-dev libdbus-1-dev \
   freeglut3-dev       libboost-dev   libcurl4-openssl-dev   libdbus-1-dev \
   libfltk1.3-dev libglew-dev       libgtkglext1-dev     libjpeg62-turbo-dev \
   libfreetype6-dev   libglew-dev   libopenal-dev libopenscenegraph-dev \
   libopenal-dev  libopenscenegraph-dev                   libqt5opengl5-dev \
   libqt5opengl5-dev  libxi-dev     libxmu-dev             pkg-config \
   librsvg2-dev    libxml2-dev      qt5-default           qtdeclarative5-dev"
   qt5-default         qtbase5-private-dev     qtdeclarative5-private-dev"
 
; additional dependencies (tested with Debian 9.3)
su -c "apt-get install  \
  qtbase5-private-dev           qtdeclarative5-private-dev"
 


: If you prefer you might replace "libcurl4-openssl-dev" by "libcurl4-gnutls-dev".
: If you prefer you might replace "libcurl4-openssl-dev" by "libcurl4-gnutls-dev".
: If "libjpeg62-turbo-dev" breaks package dependencies, just install one of the other versions' -dev.
: Add "libudev-dev" if you need FG's feature <code>-D EVENT_INPUT=ON</code>.


: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are "libplib-dev" and "simgear-dev". <!--For <u>Wheezy</u> additionally "libboost-dev", "libopenthreads-dev" and "libopenscenegraph-dev".-->
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are "libplib-dev" and "simgear-dev".
<!--
osg: libxml2-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 (für fgadmin) fluid) (libudev-dev)
-->




Line 51: Line 39:
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.


[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for <u>stable</u> and <u>next</u>! Not even for fgdata, mixing versions will almost certainly break the installation.
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for <u>Stable</u> and <u>Next</u>! Not even for fgdata, mixing versions will almost certainly break the installation.




=== [[plib]] ===
=== [[plib]] ===
<u>Stable</u> and <u>next</u>: <br />
<u>Stable</u> and <u>Next</u>: <br />
While just installing package "libplib-dev" should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.
While just installing package "libplib-dev" should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.
  cd $FG_SRC_DIR
  cd $FG_SRC_DIR
  <nowiki>git clone https://git.code.sf.net/p/libplib/code libplib.git</nowiki>
  <nowiki>git clone git://git.code.sf.net/p/libplib/code libplib.git</nowiki>
  cd libplib.git
  cd libplib.git
  echo "1.8.6" > version
  echo "1.8.6" > version
Line 69: Line 57:


=== [[SimGear]] ===
=== [[SimGear]] ===
<u>Stable</u> and <u>next</u>:
<u>Stable</u> and <u>Next</u>:
  cd $FG_SRC_DIR
  cd $FG_SRC_DIR
  <nowiki>git clone git://git.code.sf.net/p/flightgear/simgear simgear.git</nowiki>
  <nowiki>git clone git://git.code.sf.net/p/flightgear/simgear simgear.git</nowiki>
Line 75: Line 63:
<u>Stable</u> only:
<u>Stable</u> only:
  cd simgear.git
  cd simgear.git
  git checkout release/2017.3
  git checkout release/2018.1


<u>Stable</u> and <u>next</u>:
<u>Stable</u> and <u>Next</u>:
  mkdir $FG_SRC_DIR/build-sg && cd $FG_SRC_DIR/build-sg
  mkdir $FG_SRC_DIR/build-sg && cd $FG_SRC_DIR/build-sg
  cmake CFLAGS="--std=c++11" -D CMAKE_INSTALL_PREFIX:PATH="$FG_INSTALL_DIR" \
  cmake CFLAGS="--std=c++11" -D CMAKE_INSTALL_PREFIX:PATH="$FG_INSTALL_DIR" \
Line 85: Line 73:


=== FlightGear source ===
=== FlightGear source ===
<u>Stable</u> and <u>next</u>:
<u>Stable</u> and <u>Next</u>:
  cd $FG_SRC_DIR
  cd $FG_SRC_DIR
  <nowiki>git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git</nowiki>
  <nowiki>git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git</nowiki>
Line 91: Line 79:
<u>Stable</u> only:
<u>Stable</u> only:
  cd flightgear.git
  cd flightgear.git
  git checkout release/2017.3
  git checkout release/2018.1


<u>Stable</u> and <u>next</u>:
<u>Stable</u> and <u>Next</u>:
  mkdir $FG_SRC_DIR/build-fg && cd $FG_SRC_DIR/build-fg
  mkdir $FG_SRC_DIR/build-fg && cd $FG_SRC_DIR/build-fg
  cmake CFLAGS="--std=c++11" -D FG_DATA_DIR:PATH="$FG_INSTALL_DIR/fgdata" \
  cmake CFLAGS="--std=c++11" -D FG_DATA_DIR:PATH="$FG_INSTALL_DIR/share/fgdata" \
       -D CMAKE_INSTALL_PREFIX:PATH="$FG_INSTALL_DIR" $FG_SRC_DIR/flightgear.git
       -D CMAKE_INSTALL_PREFIX:PATH="$FG_INSTALL_DIR" $FG_SRC_DIR/flightgear.git
  make -j$(nproc) && make install
  make -j$(nproc) && make install
Line 101: Line 89:


=== FlightGear data ===
=== FlightGear data ===
<u>Stable</u> only:  
<u>Stable</u> and <u>Next</u>:
  cd $FG_INSTALL_DIR
  mkdir -p $FG_INSTALL_DIR/share && cd $FG_INSTALL_DIR/share
  <nowiki>wget http://sourceforge.net/projects/flightgear/files/release-2017.3/FlightGear-2017.3.1-data.tar.bz2/download -O FlightGear-2017.3.1-data.tar.bz2</nowiki>
  <nowiki>git clone git://git.code.sf.net/p/flightgear/fgdata fgdata</nowiki>
tar xjf FlightGear-2017.3.1-data.tar.bz2


<u>next</u> only:
<u>Stable</u> only:
  cd $FG_INSTALL_DIR
  cd fgdata
  <nowiki>git clone git://git.code.sf.net/p/flightgear/fgdata fgdata</nowiki>
  git checkout release/2018.1




Line 120: Line 107:
To avoid the need to give the path to the <code>fgfs</code> command each time, you might consider to create a symlink at a place that is listed in $PATH:
To avoid the need to give the path to the <code>fgfs</code> command each time, you might consider to create a symlink at a place that is listed in $PATH:
  ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs
  ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs
{{Building}}
392

edits