Download
FlightGear And The Dependent Packages
FlightGear
0.9-CVS Base Package
Build FlightGear
Release 0.9.8
Extract
FlightGear 0.9.8 Base Package
Build FlightGear
0.9 CVS (First Time)
Build FlightGear
0.9 CVS Source
Get FlightGear
0.9 CVS Base Package
Build FlightGear
0.9 CVS (Subsequent Times)
Build Updated
SimGear 0.3 CVS Source
Update FlightGear
0.9 CVS Source
Build Updated
FlightGear 0.9 CVS Source
Update FlightGear
0.9 CVS Base Package
Having discovered and installed the pre-packaged Windows FlightGear binary it’s easy to get hooked on what FlightGear has to offer. It quickly becomes obvious that FlightGear is a very active project and that the best way to get the most from the rapid development is to build the latest code. That’s when it’s easy to give up; it’s not easy trawling through the forums for the information needed to build a working version of FlightGear on Win32 systems.
That’s why this guide was created.
You might find this guide useful if:
· You want to build the latest version of FlightGear
· You want to test the latest version on Win32 and report problems
· You want to contribute to the development by building your own code
· You just want to say “hey, I can build FlightGear!”
This guide assumes some, but not much, familiarity with software systems.
This guide does not assume any knowledge about Unix. Phew! Most Win32 users will regard Unix as the most unfriendly operating system ever invented. This isn’t true; it’s not that Unix is unfriendly – it just chooses its friends carefully.
This guide will undoubtedly become out of date. The screen shots were taken in October 2005.
This guide is not meant to be a comprehensive Cygwin tutorial. If you’ve never before used Cygwin then this section should offer some useful information. It’s important to recognise that Cygwin, like FlightGear, is an active project and so the version numbers of Cygwin packages may differ to those illustrated here.
This section describes enough of the Cygwin environment to allow you to build both the stable version of FlightGear (version 0.9.8) and the development version of FlightGear (version 0.9-CVS).
To download and install Cygwin go to http://www.cygwin.com then find the “Install Cygwin Now” link and save setup.exe.
Run setup.exe and follow the dialogue boxes.
|
|
|
|
|
|
The following dialogue box will eventually be displayed. Use this dialogue to choose which Cygwin packages to install.
When setup is run for the first time a default set of “base” packages are already selected. To build FlightGear you need an additional set of development packages. Expand the “Devel” node then find the “autoconf” and “automake” packages.
Click on “Skip” next to the “autoconf2.1” package. The version number of autoconf is displayed in the “New” column. A marked checkbox appears in the “Binary” column and a cleared checkbox appears in the “Source” column; you’re selecting to use a pre-compiled binary of autoconf rather than building autoconf from source.
Select the most recent “automake” package and the “cvs” package.
Select the “gcc-core” and “gcc-g++” compiler packages.
Important Note: This
guide starts by building and installing the stable version of FlightGear
(version 0.9.8). This version does not
compile with gcc 3.4.4-4. Instead click
on the version number in the Cygwin setup until it displays 3.3.3-3 as shown in
the picture.
Select the “make” package. Finally expand the Graphics node and select the “OpenGL” package.
Click Next to begin the download and install process.
Start Cygwin. You can perform a very quick test that the required packages have been installed by using the Unix “which” command. You can also check that the correct version of gcc has been installed. The following screenshot illustrates this.
The
remainder of this document uses the following style to represent the Cygwin
window. The following commands use
“which” to check that the remaining packages are correctly installed.
username@machine ~ $ which tar |
username@machine ~ $ which cvs |
username@machine ~ $ which make |
FlightGear cannot be compiled in isolation; it relies on a few other packages. This section describes where to find those packages, which files to download and where to save them.
OpenAL is the hardest package to deal with under Cygwin. When this document was written there was no support to build OpenAL in Cygwin from source. Some very kind people (notably Norman Vine) have already addressed this so that you can simply install some pre-compiled OpenAL Cygwin libraries. The problem here is that you need one pre-compiled version of OpenAL to build FlightGear 0.9.8 and a different pre-compiled version of OpenAL to build FlightGear version 0.9-CVS. Take care when installing the OpenAL libraries and make sure you’re using the correct pre-compiled library.
The pre-compiled files needed to build FlightGear 0.9.8 can be found by following this link. Store the file somewhere on your PC. Using this file is described later.
ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/openal_cyg.tgz
The pre-compiled files needed to build FlightGear 0.9-CVS can be found by following this link. Store the file somewhere on your PC. Using this file is described later.
http://www.vso.cape.com/~nhv/files/cygwin/cyg_openAL.tgz
Go to http://plib.sourceforge.net. Follow the links to save plib-1.8.4-tar.gz to your PC.
Go to http://www.simgear.org. Follow the links to save SimGear-0.3.8-tar.gz to your PC.
This is described in a later section.
Go to http://www.flightgear.org. Follow the links to save FlightGear-0.9.8-tar.gz to your PC.
This is described in a later section.
Go to http://www.flightgear.org. Follow the links to save fgfs-base-0.9.8-tar.bz2 to your PC.
This is described in a later section.
If you’re new to Unix then the title will look confusing. What is “~/tar”? Use Windows Explorer to look at the Cygwin tree.
Now start Cygwin. Cygwin starts in your home directory called “~”. Create a directory called “tar” as illustrated:
username@machine ~ $ mkdir tar |
Now refresh Windows Explorer to see where the directory was created.
The Unix path “~/tar” maps to the Windows folder you’ve just created. Copy the OpenAl, plib, SimGear and FlightGear files into this tar directory.
The following section describes how to build the released version of FlightGear 0.9.8. Each command is listed but the output of each command has been omitted. In general you should ensure that each command reports no errors before typing the next command. If you choose to use a different directory structure then commands must be changed accordingly.
username@machine <any_path> $ cd ~ username@machine ~ $ tar –xzf ~/tar/plib-1.8.4.tar.gz username@machine ~ $ cd plib-1.8.4 username@machine ~/plib-1.8.4 $ ./configure -–prefix=/fg-0.9.8 |
username@machine ~/plib-1.8.4 $ make |
username@machine ~/plib-1.8.4 $ make install |
The directory tree now looks like this. Note how “/fg-0.9.8” has been created with some sub-directories containing the results of running “make install”.
The procedure for OpenAL with FlightGear 0.9.8 is different to the procedure for FlightGear 0.9 CVS. For FlightGear 0.9.8 you should extract the OpenAL files into the newly-created /fg-0.9.8 directory.
username@machine <any_path> $ cd /fg-0.9.8 username@machine /fg-0.9.8 $ tar –xzf ~/tar/openal_cyg.tgz |
The directory tree now looks like this:
username@machine <any_path> $ cd ~ username@machine ~ $ tar –xzf ~/tar/SimGear-0.3.8.tar.gz username@machine ~ $ cd SimGear-0.3.8 username@machine ~/SimGear-0.3.8 $ ./configure –-prefix=/fg-0.9.8 |
username@machine ~/SimGear-0.3.8 $ make |
username@machine ~/SimGear-0.3.8 $ make install |
The directory tree now looks like this:
username@machine <any_path> $ cd ~ username@machine ~ $ tar –xzf ~/tar/FlightGear-0.9.8.tar.gz username@machine ~ $ cd FlightGear-0.9.8 username@machine ~/FlightGear-0.9.8 $ ./configure –-prefix=/fg-0.9.8 |
username@machine ~/FlightGear-0.9.8 $ make |
username@machine ~/FlightGear-0.9.8 $ make install |
The directory tree now looks like the next picture (which illustrates the contents of /fg-0.9.8/bin):
The following commands will extract the FlightGear base package to the correct location. Note that previous tar commands have used a “-xzf” parameter but that this command uses a “-xjf” parameter (curious? Try “tar –help”).
username@machine <any_path> $ cd /fg-0.9.8 username@machine /fg-0.9.8 $ tar –xjf ~/tar/fgfs-base-0.9.8.tar.bz2 |
username@machine <any_path> $ /fg-0.9.8/bin/fgfs.exe –-fg-root=/fg-0.9.8/data |
Hopefully, after a lengthy heart-stopping delay, you should see this beautiful picture of a Cessna sat at the end of the KSFO runway.
The following section describes how to build the CVS version of FlightGear 0.9. Each command is listed but the output of each command has been omitted. In general you should ensure that each command reports no errors before typing the next command. If you choose to use a different directory structure then commands must be changed accordingly.
This section assumes that ~/plib-1.8.4 has already been extracted in order to build FlightGear 0.9.8. Plib can be re-used with a slightly different “configure”.
username@machine <any_path> $ cd ~/plib-1.8.4 username@machine ~/plib-1.8.4 $ ./configure -–prefix=/fg-cvs |
username@machine ~/plib-1.8.4 $ make |
username@machine ~/plib-1.8.4 $ make install |
The directory tree now looks like this. Note how “/fg-cvs” has been created with some sub-directories containing the results of running “make install”.
The procedure for OpenAL with FlightGear 0.9 CVS is different to the procedure for FlightGear 0.9.8. For FlightGear 0.9 CVS you should extract the OpenAL files into the root directory. This will extract the files into /usr/local.
username@machine <any_path> $ cd / username@machine / $ tar –xzf ~/tar/cyg_openAL.tgz |
The directory tree now looks like this:
Create a new directory for SimGear 0.3 CVS then use the CVS commands explained on the SimGear web site. The CVS password is “guest”.
username@machine <any_path> $ cd ~ username@machine ~ $ mkdir SimGear-0.3-cvs username@machine ~ $ cd SimGear-0.3-cvs username@machine ~/SimGear-0.3-cvs $ cvs –d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login The password is “guest” username@machine ~/SimGear-0.3-cvs $ cvs –d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source |
There is an additional step that wasn’t required when building the SimGear 0.3.8 release version. The SimGear 0.3 CVS version requires you to run “./autogen” from the ~/SimGear-0.3-cvs/source directory before running “configure”.
username@machine <any_path> $ cd ~/SimGear-0.3-cvs/source username@machine ~/SimGear-0.3-cvs/source $ ./autogen.sh |
username@machine ~/SimGear-0.3-cvs/source $ ./configure -–prefix=/fg-cvs |
username@machine ~/SimGear-0.3-cvs/source $ make |
username@machine ~/SimGear-0.3-cvs/source $ make install |
The directory tree now looks like this:
Create a new directory for FlightGear 0.9 CVS then use the CVS commands explained on the FlightGear web site. The CVS password is “guest”.
username@machine <any_path> $ cd ~ username@machine ~ $ mkdir FlightGear-0.9-cvs username@machine ~ $ cd FlightGear-0.9-cvs username@machine ~/FlightGear-0.9-cvs $ cvs –d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login The password is “guest” username@machine ~/FlightGear-0.9-cvs $ cvs –d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co source |
There is an additional step that wasn’t required when building the FlightGear 0.9.8 release version. The FlightGear 0.9 CVS version requires you to run “./autogen” from the ~/FlightGear-0.9-cvs/source directory before running “configure”.
username@machine <any_path> $ cd ~/FlightGear-0.9-cvs/source username@machine ~/FlightGear-0.3-cvs/source $ ./autogen.sh |
username@machine ~/FlightGear-0.9-cvs/source $ ./configure -–prefix=/fg-cvs |
username@machine ~/FlightGear-0.9-cvs/source $ make |
username@machine ~/FlightGear-0.9-cvs/source $ make install |
Change your working directory to the /fg-cvs directory then use the CVS commands explained on the FlightGear web site. The CVS password is “guest”.
username@machine <any_path> $ cd /fg-cvs username@machine ~/fg-cvs $ cvs –d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login The password is “guest” username@machine ~/fg-cvs $ cvs –d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data |
username@machine <any_path> $ /fg-cvs/bin/fgfs.exe -–fg-root-/fg-cvs/data |
Hopefully you will see a Cessna sat at the end of the KSFO runway.
Re-building FlightGear to the latest CVS version is very straightforward. Simply update the code from the CVS server, make and install. There is no need to re-run “autogen” or “configure” (unless, in very rare cases, the autogen files or configure files have themselves been updated).
Remember to update SimGear at the same time as you update FlightGear. These projects are working in parallel.
Change your working directory to the SimGear CVS source directory then use the CVS command explained on the SimGear web site.
username@machine <any_path> $ cd ~/SimGear-0.3-cvs/source username@machine ~/SimGear-0.3.cvs/source $ cvs update –d -P |
Run “make” and “make install” from the ~/ SimGear-0.3-cvs/source directory.
username@machine <any_path> $ cd ~/SimGear-0.3-cvs/source username@machine ~/SimGear-0.3-cvs/source $ make |
username@machine ~/SimGear-0.3-cvs/source $ make install |
Change your working directory to the FlightGear CVS source directory then use the CVS command explained on the FlightGear web site.
username@machine <any_path> $ cd ~/FlightGear-0.9-cvs/source username@machine ~/FlightGear-0.9.cvs/source $ cvs update –d -P |
Run “make” and “make install” from the ~/ FlightGear-0.9-cvs/source directory.
username@machine <any_path> $ cd ~/FlightGear-0.9-cvs/source username@machine ~/FlightGear-0.9-cvs/source $ make |
username@machine ~/FlightGear-0.9-cvs/source $ make install |
Change your working directory to the /fg-cvs/data directory then use the CVS commands explained on the FlightGear web site.
username@machine <any_path> $ cd ~/fg-cvs/data username@machine /fg-cvs/data $ cvs update –d -P |
username@machine <any_path> $ /fg-cvs/bin/fgfs.exe -–fg-root-/fg-cvs/data |
If you’ve been through this document a few times then this should be the only section you need. This is a summary of the steps required to build FlightGear CVS.
Install Cygwin with these packages:
· automake
· autoconf
· cvs
· make
· gcc
· gcc++
· OpenGL
cd ~
mkdir tar
download cyg_openAL.tgz from http://www.vso.cape.com/~nhv to ~/tar
download plib-1.8.4.tar.gz from http://plib.sourceforge.net
cd /
tar -xzf ~/tar/cyg_openAL.tgz
cd ~
tar -xzf ~/tar/plib-1.8.4.tar.gz
cd plib-1.8.4
./configure --prefix=/fg-cvs
make
make install
cd ~
mkdir SimGear-0.3-cvs
cd SimGear-0.3-cvs
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
password is "guest"
cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source
cd source
./autogen.sh
./configure --prefix=/fg-cvs
make
make install
cd ~
mkdir FlightGear-0.9-cvs
cd FlightGear-0.9-cvs
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
password is "guest"
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co source
cd source
./autogen.sh
./configure --prefix=/fg-cvs
make
make install
cd /fg-cvs
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
password is "guest"
cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data
cd ~
/fg-cvs/bin/fgfs.exe --fg-root=/fg-cvs/data
cd ~/SimGear-0.3-cvs/source
cvs update -d -P
make
make install
cd ~/FlightGear-0.9-cvs/source
cvs update -d -P
make
make install
cd /fg-cvs/data
cvs update -d -P
cd ~
/fg-cvs/bin/fgfs.exe --fg-root=/fg-cvs/data
October 2005
END OF DOCUMENT