Ubuntu: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Update list of required packages for Ubuntu 13.04)
(Compile from source instructions for most recent Ubuntu (13.04))
Line 1: Line 1:
{{stub}}
{{stub}}
Following steps walk through downloading the FlightGear source code, compile and run on Ubuntu 13.04 (x86_64)


== Required Packages ==
== Required Packages ==


This is a list of all the apt-get commands I had to do while compiling FG, SG, and OSG on a mostly clean '''Ubuntu (13.04) x86_64''' system. It is a list of all the libraries you and your computer needs to compile FG, SG, OSG, and PLib. All you have to do is copy the full command, paste it in Terminal, enter your password, and it will download all the packages for you, and install them too. The full command is at the bottom, and I hope someone finds it useful :) sub-dependencies (dependencies of the dependencies) are not included as they are installed automatically by apt-get. If anyone sees something missing, please add it.
Install the following packages and libraries to be able to compile FlightGear:
<pre>
sudo apt-get install git subversion build-essential cmake cmake-curses-gui libpng12-dev libfreetype6-dev
libjpeg-dev libgif-dev libtiff5-dev libxmu-dev libxi-dev libglut3-dev libalut-dev libxft-dev libxinerama-dev
libboost-dev libplib-dev libopenscenegraph-dev libsvn-dev libudev-dev libfontconfig1-dev
</pre>
 
== Download source ==
 
Create a fgsrc directory and get the source code with git:
<pre>mkdir ~/fgsrc
cd ~/fgsrc
git clone git://gitorious.org/fg/simgear.git
git clone git://gitorious.org/fg/flightgear.git
git clone git://gitorious.org/fg/fgdata.git</pre>
 
== Compile ==


{|
Create directory to install FlightGear in and create environment variable:
! Package
<pre>export prefix=$HOME/FG-install && mkdir $prefix</pre>
! Description
|-
| git
| Distributed revision control system (to get SG and FG source code)
|-
| subversion
| revision control system (to get [[OSG]])
|-
| build-essential
| standard build tools (includes gcc)
|-
| cmake
| cross-platform, open-source make system
|-
| cmake-curses-gui
| curses based user interface for CMake
|-
| libpng12-dev
| PNG library
|-
| libfreetype6-dev
| FreeType 2 font engine
|-
| libjpeg-dev
| JPEG library
|-
| libgif-dev
| GIF library
|-
| libtiff5-dev
| TIFF library
|-
| libxmu-dev
| X11 miscellaneous utility library
|-
| libxi-dev
| X11 Input extension library
|-
| freeglut3-dev
| OpenGL Utility Toolkit
|-
| libalut-dev
| OpenAL Utility Toolkit
|-
| libboost-dev
| Boost C++ Libraries
|-
| automake
| Tool for generating GNU Standards-compliant Makefiles
|-
| autoconf
| automatic configure script builder
|-
| libfltk1.1-dev
| Fast Light Toolkit
|}


Create a build directory for each package and run cmake from there:


Command line to install all of the above listed packages:  
SimGear:  
<pre>
<pre>cd ~/fgsrc
sudo apt-get install git subversion build-essential cmake cmake-curses-gui libpng12-dev libfreetype6-dev
mkdir build-sg
libjpeg-dev libgif-dev libtiff5-dev libxmu-dev libxi-dev libglut3-dev libalut-dev
cd build-sg
libboost-dev automake autoconf libfltk1.1-dev
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" ~/fgsrc/simgear
make -j2 install
</pre>
</pre>


NOTE: On a '''Linux Mint 9''' (Ubuntu 10.04) system this is the command I used:
FlightGear:  
<pre>
<pre>cd ~/fgsrc
sudo apt-get install git-core subversion build-essential cmake cmake-curses-gui libpng-dev libfreetype6-dev libjpeg-dev libungif4-dev
mkdir build-fg
libtiff-dev libxmu-dev libxi-dev libglut3-dev libalut-dev libboost-dev ''automake autoconf'' libfltk1.1-dev libplib-dev libopenscenegraph-dev
cd build-fg
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" ~/fgsrc/flightgear
make -j2 install
</pre>
</pre>
You just need to copy that long line into a terminal and you should have all the packages you need to compile Flightgear and Simgear.
 
== Run ==
 
Link fgdata to the data directory in FG-install
<pre>cd $prefix
ln -s ~/fgsrc/fgdata data</pre>
 
Run executable:
<pre>$prefix/bin/fgfs --fg-root=$prefix/data</pre>


== Troubleshooting ==
== Troubleshooting ==
; Link error undefined reference to symbol 'dlopen@@GLIBC_2.2.5
: Uninstall fltk 1.3 library <pre>sudo apt-get remove libfltk1.3-dev</pre> See the [http://www.flightgear.org/forums/viewtopic.php?f=45&t=20164 forum]
; Only-a-black-screen problem:
; Only-a-black-screen problem:
: If you are a nvidia user and only get a black screen at startup, you might suffer from Ubuntu bug [https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/982485 982485]. Have a look at comment [https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/982485/comments/24 #24] for a possible workaround.
: If you are a nvidia user and only get a black screen at startup, you might suffer from Ubuntu bug [https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/982485 982485]. Have a look at comment [https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/982485/comments/24 #24] for a possible workaround.

Revision as of 23:26, 13 July 2013

This article is a stub. You can help the wiki by expanding it.


Following steps walk through downloading the FlightGear source code, compile and run on Ubuntu 13.04 (x86_64)

Required Packages

Install the following packages and libraries to be able to compile FlightGear:

sudo apt-get install git subversion build-essential cmake cmake-curses-gui libpng12-dev libfreetype6-dev
libjpeg-dev libgif-dev libtiff5-dev libxmu-dev libxi-dev libglut3-dev libalut-dev libxft-dev libxinerama-dev
libboost-dev libplib-dev libopenscenegraph-dev libsvn-dev libudev-dev libfontconfig1-dev

Download source

Create a fgsrc directory and get the source code with git:

mkdir ~/fgsrc 
cd ~/fgsrc
git clone git://gitorious.org/fg/simgear.git
git clone git://gitorious.org/fg/flightgear.git
git clone git://gitorious.org/fg/fgdata.git

Compile

Create directory to install FlightGear in and create environment variable:

export prefix=$HOME/FG-install && mkdir $prefix

Create a build directory for each package and run cmake from there:

SimGear:

cd ~/fgsrc
mkdir build-sg
cd build-sg 
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" ~/fgsrc/simgear 
make -j2 install

FlightGear:

cd ~/fgsrc
mkdir build-fg
cd build-fg 
cmake -D CMAKE_INSTALL_PREFIX:PATH="$prefix" ~/fgsrc/flightgear 
make -j2 install

Run

Link fgdata to the data directory in FG-install

cd $prefix
ln -s ~/fgsrc/fgdata data

Run executable:

$prefix/bin/fgfs --fg-root=$prefix/data

Troubleshooting

Link error undefined reference to symbol 'dlopen@@GLIBC_2.2.5
Uninstall fltk 1.3 library
sudo apt-get remove libfltk1.3-dev
See the forum
Only-a-black-screen problem
If you are a nvidia user and only get a black screen at startup, you might suffer from Ubuntu bug 982485. Have a look at comment #24 for a possible workaround.