Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Building FlightGear - Linux"

From FlightGear wiki
Jump to: navigation, search
(Instructions)
(Instructions)
Line 136: Line 136:
 
* [[ MinGW/cross-compiler ]]
 
* [[ MinGW/cross-compiler ]]
 
* [[ CodeBlocks IDE ]]
 
* [[ CodeBlocks IDE ]]
* [[ OpenSUSE 10.1 ]]
+
* [[ OpenSUSE 10.1 10.2 ]]
 
* [http://www.geoffmclane.com/fg/fgmsvc7.htm MSVC7 *.Net]
 
* [http://www.geoffmclane.com/fg/fgmsvc7.htm MSVC7 *.Net]
 
* [http://www.oflebbe.de/oflebbe/FlightGear/index.html MSVC8 aka Visual 2005]
 
* [http://www.oflebbe.de/oflebbe/FlightGear/index.html MSVC8 aka Visual 2005]

Revision as of 22:02, 16 February 2007

This section describes how to build FlightGear on Linux system.

Compiling FlightGear is not a task for novice users. Thus, if you're a beginner (we all were once) on a platform which binaries are available for, we recommend postponing this task and just starting with the binary distribution to get you flying.

October 29th 2006, Flightgear CVS MAIN Branch switched to OSG support. Plib support remains available in CVS using PRE_OSG_PLIB_20061029 Branch. (cvs up -rPRE_OSG_PLIB_20061029)

Requirements

Before you can compile FlightGear, you need to have the followings installed on your computer:

C++ compiler

These are: c++, cpp, gcc, g++ found under the /usr/bin directory. You will also need to have the tools autoconf and automake1.9 installed.

CVS

Yes, the program is called 'CVS'. This is used for downloading the latest set of source code.

OpenGL support

More specifically, your system needs the support for hardware accelerated graphics. You can check for this by running:

glxinfo | grep direct

Note: To run the above command, you need to have the tool mesa-utils installed.

You should then see:

direct rendering: Yes

This means you are good to go as far as OpenGL support is concerned.

If you see:

direct rendering: No

Don't panic yet. This may just mean some required libraries for hardware accelerated graphic are missing. Go ahead and try installing plib1.8.4 and its dependencies first. If you still get the above message, then you will need to do some googling and troubleshoot yourself.

Dependencies

FlightGear is dependent on quite a few number of libraries. You do not need to compile all of them yourself, but you will at least need to have their development version installed. For example, the development version for package plib1.8.4 is plib1.8.4-dev.

The dependency is summarized in the following tree. Please note that each library has its own dependencies, and most of these are not shown here.

  • FlightGear
    • OpenAL and ALUT
    • SimGear
      • PLIB (until version 0.9.10 release sources, PRE_OSG_PLIB_20061029 CVS branch)
        • (Free)GLUT or SDL (We recommend the use of SDL)
      • OpenSceneGraph (cvs HEAD branch)
        • OpenThreads
        • Producer
        • libfreetype6-dev
        • libjpeg62-dev
        • libungif4-dev
        • libtiff4-dev
        • libpng12-dev
        • libxmu-dev
        • libxi-dev

If you attack the above dependencies in the order listed below, you should be good:

1. Glut. Most distributions include glut packages, although you may have to hunt for them. Make sure you install both the glut and glut-devel packages, otherwise FlightGear may be able to compile but won't run correctly.

2. Zlib. Most distributions install the basic zlib libraries by default, but not the development portions. If you don't have zlib.h, you probably need to install the zlib-devel package for your distribution.

3. Plib - portability libraries and scene graph.

4. OpenSceneGraph

5. SimGear - Simulation support libraries. If you are building FlightGear from CVS, you need the CVS version of SimGear. If you have strange build errors, one of the first things to check is that you have an up-to-date version of SimGear built and installed.

Compiling

Assuming you are root, do:

cd /usr/local/src

Getting and compiling SimGear

Step 1:

Login to the cvs server and checkout the latest version of SimGear's source code with:

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

Step 2:

Since all the source code will be downloaded into a directory called source, you will need to rename the directory into something more meaningful.

Rename the above directory by doing:

mv source simgear

Next, go into the directory and make preparations for the compilation:

cd simgear
./autogen.sh
./configure

Step 3:

Compile and install SimGear by doing:

make; make install

Getting and compiling FlightGear

Step 1:

To login to the cvs version and checkout the latest version of Flightgear's source code, use:

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

A directory with the name source will then be created with all of Flightgearear's source code downloaded into it.

Step 2:

To rename the above directory, use the following command:

mv source flightgear

Next, go into the folder and make preparations for the compilation:

cd flightgear
./autogen.sh
./configure

Step 3:

Now you can compile and install Flightgear by:

make; make install

External links

Instructions

Tools

Free/Open Source

Free/Proprietary