2004-08-06 08:54:39 +00:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html >
|
|
|
|
<head><title>2 Building the plane: Compiling the program</title>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
|
|
<meta name="generator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)">
|
|
|
|
<!-- html,2,info,next,sections+ -->
|
|
|
|
<meta name="src" content="getstart.tex">
|
|
|
|
<meta name="date" content="2002-12-15 21:48:00">
|
|
|
|
<link rel="stylesheet" type="text/css" href="getstart.css">
|
|
|
|
</head><body
|
|
|
|
>
|
|
|
|
<div class="crosslinks"><p class="noindent">[<a
|
|
|
|
href="getstartch3.html" >next</a>] [<a
|
|
|
|
href="getstartch1.html" >prev</a>] [<a
|
|
|
|
href="getstartch1.html#tailgetstartch1.html" >prev-tail</a>] [<a
|
|
|
|
href="#tailgetstartch2.html">tail</a>] [<a
|
|
|
|
href="getstartpa1.html#getstartch2.html" >up</a>] </p></div>
|
|
|
|
<h2 class="chapterHead"><span class="titlemark">Chapter 2</span><br><a
|
|
|
|
href="getstart.html#QQ2-6-10" name="x6-100002">Building the plane: Compiling the program</a></h2>
|
|
|
|
<!--l. 33--><p class="noindent">This central chapter describes how to build <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>on several systems. In case you
|
|
|
|
are on a Win32 (i. e. Windows95/98/ME/NT/2000/XP) platform or any of the other
|
|
|
|
platforms which binary executables are available for, you may not want to go though that
|
|
|
|
potentially troublesome process but skip that chapter instead and straightly
|
|
|
|
go to the next one. (Not everyone wants to build his or her plane himself or
|
|
|
|
herself, right?) However, there may be good reason for at least trying to build the
|
|
|
|
simulator:
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">In case you are on a UNIX<a
|
|
|
|
name="dx6-10001"></a>/Linux<a
|
|
|
|
name="dx6-10002"></a> platform there may be no pre-compiled
|
|
|
|
binaries<a
|
|
|
|
name="dx6-10003"></a> available for your system. In practice it is common to install
|
|
|
|
programs like this one on UNIX<a
|
|
|
|
name="dx6-10004"></a> systems by recompiling them.
|
|
|
|
</li>
|
|
|
|
<li class="itemize">There are several options you can set during compile time only.
|
|
|
|
</li>
|
|
|
|
<li class="itemize">You may be proud you did.</li></ul>
|
|
|
|
<!--l. 51--><p class="noindent">On the other hand, compiling <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>is not a task for novice users. Thus, if you’re a
|
|
|
|
beginner (we all were once) on a platform which binaries<a
|
|
|
|
name="dx6-10005"></a> are available for, we
|
|
|
|
recommend postponing this task and just starting with the binary distribution<a
|
|
|
|
name="dx6-10006"></a> to get you
|
|
|
|
flying.
|
|
|
|
<!--l. 56--><p class="indent"> As you will notice, this Chapter is far from being complete. Basically, we describe
|
|
|
|
compiling for two operating systems only, Windows<a
|
|
|
|
name="dx6-10007"></a> and Linux<a
|
|
|
|
name="dx6-10008"></a>, and for only one
|
|
|
|
compiler, the GNU C compiler. <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>has been shown to be built under different
|
|
|
|
compilers (including Microsoft Visual C) as well as different systems (Macintosh) as
|
|
|
|
well. The reason for these limitations are:
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">Personally, we have access to a Windows machine running the Cygnus
|
|
|
|
compiler only.
|
|
|
|
</li>
|
|
|
|
<li class="itemize">According to the mailing lists, these seem to be the systems with the largest
|
|
|
|
user base.
|
|
|
|
</li>
|
|
|
|
<li class="itemize">These are the simplest systems to compile <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>on. Other compilers
|
|
|
|
may need special add-ons (workplace etc.) or even modification of the code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="itemize">The GNU compiler is free in the same sense of the GPL as <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>is.</li></ul>
|
|
|
|
<!--l. 70--><p class="noindent">You might want to check Section <a
|
|
|
|
href="getstartap1.html#x12-66000A">A<!--tex4ht:ref: missed--></a>, <span
|
|
|
|
class="ptmri7t---109">Missed approach</span>, if anything fails during
|
|
|
|
compilation. In case this does not help we recommend sending a note to one of the
|
|
|
|
mailing lists (for hints on subscription see Chapter <a
|
|
|
|
href="getstartap3.html#x14-80000C">C<!--tex4ht:ref: landing--></a>).
|
|
|
|
<!--l. 73--><p class="indent"> There are several Linux distributions<a
|
|
|
|
name="dx6-10009"></a> on the market, and most of them should work.
|
|
|
|
Some come even bundled with (often outdated) versions of <span
|
|
|
|
class="ptmbi7t---109">FlightGear</span>. However, if you
|
|
|
|
are going to download or buy a distribution, Debian<a
|
|
|
|
name="dx6-10010"></a> (Woody) is suggested by most
|
|
|
|
people. SuSE<a
|
|
|
|
name="dx6-10011"></a> works well, too.
|
|
|
|
<!--l. 77--><p class="indent"> Contrary to Linux/Unix systems, Windows usually comes without any development
|
|
|
|
tools. This way, you first have to install a development environment. On Windows, in a
|
|
|
|
sense, before building the plane you will have to build the plant for building planes.
|
|
|
|
This will be the topic of the following section, which can be omitted by Linux
|
|
|
|
users.
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.1</span> <a
|
|
|
|
href="getstart.html#QQ2-6-11" name="x6-110002.1">Preparing the development environment under Windows</a></h3>
|
|
|
|
<!--l. 86--><p class="noindent">There is a powerful development environment available for Windows and this
|
|
|
|
even for free: The Cygnus development tools,<a
|
|
|
|
name="dx6-11001"></a> resp. <span
|
|
|
|
class="ptmbi7t---109">Cygwin</span>. Their home is at
|
|
|
|
<!--l. 91--><p class="indent"> <a
|
|
|
|
href="http://sources.redhat.com/cygwin/" >http://sources.redhat.com/cygwin/</a>,
|
|
|
|
<!--l. 94--><p class="noindent">and it is always a good idea to check back what is going on there now and then.
|
|
|
|
<!--l. 97--><p class="indent"> Nowadays, installing <span
|
|
|
|
class="ptmbi7t---109">Cygwin</span><a
|
|
|
|
name="dx6-11002"></a> is nearly automatic. First, make sure the drive you want
|
|
|
|
<span
|
|
|
|
class="ptmbi7t---109">Cygwin</span>, <span
|
|
|
|
class="ptmbi7t---109">PLIB</span>, <span
|
|
|
|
class="ptmbi7t---109">SimGear </span>and <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>to live on, has nearly 1 GB of free disk space<a
|
|
|
|
name="dx6-11003"></a>.
|
|
|
|
Create a temporary directory and download the installer from the site named
|
|
|
|
above to that directory. (While the installer does an automatic installation of the
|
|
|
|
Cygnus environment, it is a good idea to download a new installer from time to
|
|
|
|
time.)
|
|
|
|
<!--l. 104--><p class="indent"> Invoke the installer now. It gives you three options. To avoid having to download
|
|
|
|
stuff twice in case of a re-installation or installation on a second machine, we highly
|
|
|
|
recommended to take a two-step procedure. First, select the option <span
|
|
|
|
class="pcrr7t---109">Download</span>
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">from Internet</span>. Insert the path of your temporary directory, your Internet
|
|
|
|
connection settings and then choose a mirror form the list. Near servers might
|
|
|
|
be preferred, but may be sometimes a bit behind with mirroring. We found
|
|
|
|
<!--l. 112--><p class="indent"> <a
|
|
|
|
href="ftp://mirrors.rcn.net" >ftp://mirrors.rcn.net</a>
|
|
|
|
<!--l. 115--><p class="noindent">a very recent and fast choice. In the next windows the default settings are usually a good
|
|
|
|
start. Now choose <span
|
|
|
|
class="pcrr7t---109">Next</span>, sit back and wait.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 119--><p class="indent"> If you are done, invoke the installer another time, now with the option <span
|
|
|
|
class="pcrr7t---109">Install</span>
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">from local directory</span>. After confirming the temporary directory you can
|
|
|
|
select a root directory (acting as the root directory of your pseudo UNIX file
|
|
|
|
system). Cygnus does not recommend taking the actual root directory of a drive,
|
|
|
|
thus choose <span
|
|
|
|
class="pcrr7t---109">c:/Cygwin </span>(while other drives than <span
|
|
|
|
class="pcrr7t---109">c: </span>work as well). Now, all
|
|
|
|
<span
|
|
|
|
class="ptmbi7t---109">Cygwin </span>stuff and all <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>stuff lives under this directory. In addition,
|
|
|
|
select
|
|
|
|
<!--l. 125--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">Default text file type: Unix</span>
|
|
|
|
<!--l. 127--><p class="noindent">In addition, you have the choice to install the compiler for all users or just for
|
|
|
|
you.
|
|
|
|
<!--l. 130--><p class="indent"> The final window before installation gives you a selection of packages to install. It is
|
|
|
|
hard, to provide a minimum selection of packages required for <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>and the
|
|
|
|
accompanying libraries to install. We have observed the following (non minimum)
|
|
|
|
combination to work:<a
|
|
|
|
name="dx6-11004"></a>
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Admin </span>skip
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Archive </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Base </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Database </span>skip
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Devel </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Doc </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Editors </span>skip
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Graphics </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Interpreters </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Libs </span>install
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Mail </span>skip
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Net </span>skip
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Shells </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Text </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Utils </span>install
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">Web </span>skip
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">XFree86 </span>do not install!</li></ul>
|
|
|
|
<!--l. 152--><p class="noindent"><span
|
|
|
|
class="ptmb7t---109">Note </span>XFree86<a
|
|
|
|
name="dx6-11005"></a> must be not installed for building <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>and the accompanying
|
|
|
|
libraries. If it is installed you have to deinstall it first. Otherwise <span
|
|
|
|
class="ptmbi7t---109">FlightGear</span>’s
|
|
|
|
configuration scripts will detect the XFree86 OpenGL libraries and link to them, while
|
|
|
|
the code is not prepared to do so.
|
|
|
|
<!--l. 154--><p class="indent"> As a final step you should include the binary directory<a
|
|
|
|
name="dx6-11006"></a> (for instance:
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">c:/Cygwin/bin</span>) into your path by adding <span class="obeylines-h"><span
|
|
|
|
class="pcrr7t---109">path=c:\Cygwin\bin</span></span> in your
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">autoexec.bat </span>under Windows 95/98/ME. Under WindowsNT/2000/XP, use the
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">Extended </span>tab under the <span
|
|
|
|
class="pcrr7t---109">System properties </span>page in Windows <span
|
|
|
|
class="pcrr7t---109">control</span>
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">panel</span>. There you’ll find a button <span
|
|
|
|
class="pcrr7t---109">Environment variables</span>, where you can add
|
|
|
|
the named directory.
|
|
|
|
<!--l. 158--><p class="indent"> Now you are done. Fortunately, all this is required only once. At this point you have a
|
|
|
|
nearly UNIX-like (command line) development environment. Because of this, the
|
|
|
|
following steps are nearly identical under Windows and Linux/Unix.
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.2</span> <a
|
|
|
|
href="getstart.html#QQ2-6-12" name="x6-120002.2">Preparing the development environment under Windows</a></h3>
|
|
|
|
<!--l. 165--><p class="noindent">Linux, like any UNIX, usually comes with a compiler pre-installed. On the other hand,
|
|
|
|
you still have to make sure several required libraries being present.
|
|
|
|
<!--l. 167--><p class="indent"> First, make sure you have all necessary OpenGL libraries. Fortunately, most of the
|
|
|
|
recent Linux distributions (i.e. SuSE-7.3) put these already into the right place. (There
|
|
|
|
have been reports, though, that on Slackware you may have to copy the libraries to
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">/usr/local/lib </span>and the headers to <span
|
|
|
|
class="pcrr7t---109">/usr/local/include </span>by hand after
|
|
|
|
building <span
|
|
|
|
class="pcrr7t---109">glut-3.7</span>). Be sure to install the proper packages: Besides the basic X11
|
|
|
|
stuff you want to have - SuSE as an example - the following packages: mesa,
|
|
|
|
mesa-devel, mesasoft, xf86_glx, xf86glu, xf86glu-devel, mesaglut, mesaglut-devel and
|
|
|
|
plib.
|
|
|
|
<!--l. 171--><p class="indent"> Also you are expected to have a bunch of tools installed that are usually required to
|
|
|
|
compile the Linux kernel. So you may use the Linux kernel source package top
|
|
|
|
determine the required dependencies. The following packages might prove to be useful
|
|
|
|
when fiddling with the <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>sources: automake, autoconf, libtool, bison, flex and
|
|
|
|
some more, that are not required to build a Linux kernel.
|
|
|
|
<!--l. 178--><p class="indent"> <span
|
|
|
|
class="ptmb7t---109">Please compare the release of the Plib library with the one that ships with your</span>
|
|
|
|
<span
|
|
|
|
class="ptmb7t---109">Linux distribution. </span>It might be the case that <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>requires a newer one that is not
|
|
|
|
yet provided by your vendor.
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.3</span> <a
|
|
|
|
href="getstart.html#QQ2-6-13" name="x6-130002.3">One-time preparations for Linux and Windows users</a></h3>
|
|
|
|
<!--l. 186--><p class="noindent">There are a couple of 3rd party libraries which your Linux or Windows system may or
|
|
|
|
may have not installed, i.e. the <span
|
|
|
|
class="ptmbi7t---109">ZLIB </span>library and the <span
|
|
|
|
class="ptmbi7t---109">Metakit </span>library. You can
|
|
|
|
either check your list of installed packages or just try building <span
|
|
|
|
class="ptmbi7t---109">SimGear</span>: It
|
|
|
|
should exit and spit an error message (observe this!) if one of these libraries is
|
|
|
|
missing.
|
|
|
|
<!--l. 188--><p class="indent"> If you make this observation, install the missing libraries, which only is required
|
|
|
|
once (unless you don’t re-install you development environment).
|
|
|
|
<!--l. 190--><p class="indent"> Both libraries come bundled with <span
|
|
|
|
class="ptmbi7t---109">SimGear</span>, which links to them, bus does not
|
|
|
|
automatically install them. For installing either of them, get the most recent file
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X.tar.gz</span><a
|
|
|
|
name="dx6-13001"></a> from
|
|
|
|
<!--l. 193--><p class="indent"> <a
|
|
|
|
href="http://www.simgear.org/downloads.html" >http://www.simgear.org/downloads.html</a>
|
|
|
|
<!--l. 196--><p class="noindent">Download it to <span
|
|
|
|
class="pcrr7t---109">/usr/local/source</span>. Change to that directory and unpack <span
|
|
|
|
class="ptmbi7t---109">SimGear</span>
|
|
|
|
using
|
|
|
|
<!--l. 200--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">tar xvfz SimGear-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 202--><p class="indent"> You will observe a directory <span
|
|
|
|
class="pcrr7t---109">src-libs </span>which contains the two names
|
|
|
|
libraries.
|
|
|
|
<h4 class="subsectionHead"><span class="titlemark">2.3.1</span> <a
|
|
|
|
href="getstartli1.html#QQ2-6-14" name="x6-140002.3.1">Installation of <span
|
|
|
|
class="ptmbi7t---109">ZLIB</span></a></h4>
|
|
|
|
<!--l. 206--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd </span>into <span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X/scr-libs </span>and unpack <span
|
|
|
|
class="ptmbi7t---109">ZLIB </span>using
|
|
|
|
<!--l. 210--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">tar xvfz zlib-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 214--><p class="noindent">Next, change to the newly created directory <span
|
|
|
|
class="pcrr7t---109">zlib-X.X.X </span>and type
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 218--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">./configure</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
<!--l. 224--><p class="noindent">Under Linux, you have to become root for being able to <span
|
|
|
|
class="pcrr7t---109">make install</span>, for instance
|
|
|
|
via the <span
|
|
|
|
class="pcrr7t---109">su </span>command.
|
|
|
|
<h4 class="subsectionHead"><span class="titlemark">2.3.2</span> <a
|
|
|
|
href="getstartli1.html#QQ2-6-15" name="x6-150002.3.2">Installation of <span
|
|
|
|
class="ptmbi7t---109">Metakit</span></a></h4>
|
|
|
|
<!--l. 229--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd </span>into <span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X/scr-libs </span>and unpack <span
|
|
|
|
class="ptmbi7t---109">Metakit </span>using
|
|
|
|
<!--l. 233--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">tar xvfz metakit-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 237--><p class="noindent">Next, change to directory <span
|
|
|
|
class="pcrr7t---109">zlib-X.X.X/builds </span>(!) and type (where the
|
|
|
|
configure option <span
|
|
|
|
class="pcrr7t---109">--with-tcl=no </span>is at least required on a Cygwin system):
|
|
|
|
<!--l. 241--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">./configure --with-tcl=no</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
<!--l. 247--><p class="noindent">Under Linux, you have to become root for being able to <span
|
|
|
|
class="pcrr7t---109">make install</span>, for instance
|
|
|
|
via the <span
|
|
|
|
class="pcrr7t---109">su </span>command.
|
|
|
|
<!--l. 250--><p class="indent"> You may want to consult the Readme files under <span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X/scr-libs </span>in
|
|
|
|
case you run into trouble.
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.4</span> <a
|
|
|
|
href="getstart.html#QQ2-6-16" name="x6-160002.4">Compiling <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>under Linux/Windows </a></h3>
|
|
|
|
<!--l. 256--><p class="noindent">The following steps are identical under Linux/Unix and under Windows with minor
|
|
|
|
modifications. Under Windows, just open the <span
|
|
|
|
class="ptmbi7t---109">Cygwin </span>icon from the Start menu or from
|
|
|
|
the desktop to get a command line.
|
|
|
|
<!--l. 260--><p class="indent"> To begin with, the <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>build process is based on four packages which you
|
|
|
|
need to built and installed in this order:
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">PLIB
|
|
|
|
</li>
|
|
|
|
<li class="itemize">SimGear
|
|
|
|
</li>
|
|
|
|
<li class="itemize">FlightGear, program
|
|
|
|
</li>
|
|
|
|
<li class="itemize">FlightGear, base (data - no compilation required)</li></ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ol type="1" class="enumerate1" start="1"
|
|
|
|
>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-16002x1"></a>First, choose an install directory<a
|
|
|
|
name="dx6-16003"></a> for FlightGear. This will not be the one your
|
|
|
|
binaries will live in but the one for your source code and compilation files.
|
|
|
|
We suggest
|
|
|
|
<!--l. 272--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd:/usr/local/</span>
|
|
|
|
<!--l. 274--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">mkdir source</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-16005x2"></a>Now, you have to install a support library <span
|
|
|
|
class="ptmbi7t---109">PLIB</span><a
|
|
|
|
name="dx6-16006"></a> which is absolutely essential
|
|
|
|
for the building process. <span
|
|
|
|
class="ptmbi7t---109">PLIB </span>contains most of the basic graphics rendering,
|
|
|
|
audio, and joystick routines. Download the latest stable version of <span
|
|
|
|
class="ptmbi7t---109">PLIB</span><a
|
|
|
|
name="dx6-16007"></a>
|
|
|
|
from
|
|
|
|
<!--l. 280--><p class="noindent"><a
|
|
|
|
href="http://plib.sourceforge.net/" >http://plib.sourceforge.net/</a>
|
|
|
|
<!--l. 283--><p class="noindent">to <span
|
|
|
|
class="pcrr7t---109">/usr/local/source</span>. Change to that directory and unpack <span
|
|
|
|
class="ptmbi7t---109">PLIB</span>
|
|
|
|
using
|
|
|
|
<!--l. 286--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">tar xvfz plib-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 288--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd </span>into <span
|
|
|
|
class="pcrr7t---109">plib-X.X.X </span>and run
|
|
|
|
<!--l. 290--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">./configure</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>.
|
|
|
|
<!--l. 294--><p class="noindent">Under Linux, you have to become root for being able to <span
|
|
|
|
class="pcrr7t---109">make install</span>,
|
|
|
|
for instance via the <span
|
|
|
|
class="pcrr7t---109">su </span>command.
|
|
|
|
<!--l. 297--><p class="noindent">Confirm you now have <span
|
|
|
|
class="ptmbi7t---109">PLIB</span>’s header files<a
|
|
|
|
name="dx6-16008"></a> (as <span
|
|
|
|
class="pcrr7t---109">ssg.h </span>etc.) under
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">/usr/include/plib </span>(and nowhere else).
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-16010x3"></a>Next, you have to install another library <span
|
|
|
|
class="ptmbi7t---109">SimGear</span><a
|
|
|
|
name="dx6-16011"></a> containing the basic
|
|
|
|
simulation routines. Get the most recent file <span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X.tar.gz</span><a
|
|
|
|
name="dx6-16012"></a>
|
|
|
|
from
|
|
|
|
<!--l. 302--><p class="noindent"><a
|
|
|
|
href="http://www.simgear.org/downloads.html" >http://www.simgear.org/downloads.html</a>
|
|
|
|
<!--l. 305--><p class="noindent">Download it to <span
|
|
|
|
class="pcrr7t---109">/usr/local/source</span>. Change to that directory and
|
|
|
|
unpack <span
|
|
|
|
class="ptmbi7t---109">SimGear </span>using
|
|
|
|
<!--l. 309--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">tar xvfz SimGear-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 311--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd </span>into <span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X </span>and run
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 314--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">./configure</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
<!--l. 318--><p class="noindent">Again, under Linux, you have to become root for being able to <span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">install</span>, for instance via the <span
|
|
|
|
class="pcrr7t---109">su </span>command.
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-16014x4"></a>Now, you’re prepared to build <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>itself, finally. Get
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">FlightGear-X.X.X.tar.gz </span>from
|
|
|
|
<!--l. 326--><p class="noindent"><a
|
|
|
|
href="http://www.flightgear.org/Downloads/" >http://www.flightgear.org/Downloads/</a>
|
|
|
|
<!--l. 329--><p class="noindent">and download it to <span
|
|
|
|
class="pcrr7t---109">/usr/local/source</span>. Unpack <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>using
|
|
|
|
<!--l. 333--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">tar xvfz FlightGear-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 336--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd </span>into <span
|
|
|
|
class="pcrr7t---109">FlightGear-X.X.X </span>and run
|
|
|
|
<!--l. 338--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">./configure</span>
|
|
|
|
<!--l. 341--><p class="noindent">configure<a
|
|
|
|
name="dx6-16015"></a> knows about numerous options, <a
|
|
|
|
name="dx6-16016"></a>with the more relevant ones to be
|
|
|
|
specified via switches as
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--with-network-olk</span>: Include Oliver Delise’s multi-pilot
|
|
|
|
networking support<a
|
|
|
|
name="dx6-16017"></a>,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--with-new-environment</span>: Include new experimental
|
|
|
|
environment subsystem,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--with-weathercm</span>: Use WeatherCM instead of FGEnvironment,<a
|
|
|
|
name="dx6-16018"></a>
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--with-plib=</span>PREFIX: Specify the prefix path to <span
|
|
|
|
class="ptmbi7t---109">PLIB</span>,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--with-metakit=</span>PREFIX: Specify the prefix path to <span
|
|
|
|
class="ptmbi7t---109">Metakit</span>,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--with-simgear=</span>PREFIX: Specify the prefix path to <span
|
|
|
|
class="ptmbi7t---109">SimGear</span>,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--prefix=/XXX</span>: Install <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>in the directory <span
|
|
|
|
class="pcrr7t---109">XXX</span>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--disable-jsbsim</span>: Disable <span
|
|
|
|
class="ptmbi7t---109">JSBSim</span>m FDM (in case of trouble
|
|
|
|
compiling it).
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--disable-yasim</span>: Disable <span
|
|
|
|
class="ptmbi7t---109">YASim </span>FDM (in case of trouble
|
|
|
|
compiling it).
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--disable-larcsim</span>: Disable <span
|
|
|
|
class="ptmbi7t---109">LaRCsim </span>FDM (in case of trouble
|
|
|
|
compiling it).
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span
|
|
|
|
class="pcrr7t---109">--disable-uiuc</span>: Disable UIUC FDM (in case of trouble
|
|
|
|
compiling it).</li></ul>
|
|
|
|
<!--l. 368--><p class="noindent">A good choice would be <span
|
|
|
|
class="pcrr7t---109">--prefix=/usr/local/FlightGear</span>. In this case
|
|
|
|
<span
|
|
|
|
class="ptmbi7t---109">FlightGear</span>’s binaries<a
|
|
|
|
name="dx6-16019"></a> will live under <span
|
|
|
|
class="pcrr7t---109">/usr/local/FlightGear/bin</span>. (If you
|
|
|
|
don’t specify a <span
|
|
|
|
class="pcrr7t---109">--prefix </span>the binaries will go into <span
|
|
|
|
class="pcrr7t---109">/usr/local/bin </span>while
|
|
|
|
the base package files are expected under <span
|
|
|
|
class="pcrr7t---109">/usr/local/share/FlightGear</span>.)
|
|
|
|
<!--l. 372--><p class="noindent">Assuming <span
|
|
|
|
class="pcrr7t---109">configure </span>finished successfully, run
|
|
|
|
<!--l. 375--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>.
|
|
|
|
<!--l. 378--><p class="noindent">Again, under Linux, you have to become root for being able to <span
|
|
|
|
class="pcrr7t---109">make install</span>,
|
|
|
|
for instance via the <span
|
|
|
|
class="pcrr7t---109">su </span>command.
|
|
|
|
<!--l. 382--><p class="noindent">Note: You can save a significant amount of space by stripping all the debugging
|
|
|
|
symbols off the executable. To do this, make a
|
|
|
|
<!--l. 387--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd /usr/local/FlightGear/bin</span>
|
|
|
|
<!--l. 389--><p class="noindent">to the directory in the <span
|
|
|
|
class="pcrr7t---109">install tree </span>where your binaries live and run
|
|
|
|
<!--l. 393--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">strip *</span>.</li></ol>
|
|
|
|
<!--l. 397--><p class="noindent">This completes building the executable and should result in a file <span
|
|
|
|
class="pcrr7t---109">fgfs </span>(Unix) or
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">fgfs.exe </span>(Windows) under <span
|
|
|
|
class="pcrr7t---109">/usr/local/FlightGear/bin</span>
|
|
|
|
<!--l. 400--><p class="indent"> <span
|
|
|
|
class="ptmb7t---109">Note: </span>If for whatever reason you want to re-build the simulator, use the command <span
|
|
|
|
class="pcrr7t---109">make</span>
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">distclean </span>either in the <span
|
|
|
|
class="pcrr7t---109">SimGear-X.X.X </span>or in the <span
|
|
|
|
class="pcrr7t---109">FlightGear-X.X.X </span>directory
|
|
|
|
to remove all the build. If you want to re-run <span
|
|
|
|
class="pcrr7t---109">configure </span>(for instance because of
|
|
|
|
having installed another version of <span
|
|
|
|
class="ptmbi7t---109">PLIB </span>etc.), remove the files <span
|
|
|
|
class="pcrr7t---109">config.cache </span>from
|
|
|
|
these same directories before.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.5</span> <a
|
|
|
|
href="getstart.html#QQ2-6-17" name="x6-170002.5">Compiling <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>under Mac OS X </a></h3>
|
|
|
|
<!--l. 410--><p class="noindent">For compiling under Mac OS X you will need
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">Mac X OS 10.1+ with developer tools installed.
|
|
|
|
</li>
|
|
|
|
<li class="itemize">500MB disk (minimum) free disk space.
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Fearlessness of command line compiling.</li></ul>
|
|
|
|
<!--l. 418--><p class="noindent">This will need a bit more bravery than building under Windows or Linux. First, there are
|
|
|
|
less people who tested it under sometimes strange configurations. Second, the
|
|
|
|
process as described here itself needs a touch more experience by using CVS
|
|
|
|
repositories.
|
|
|
|
<!--l. 420--><p class="indent"> First, download the development files. They contain files that help simplify the build
|
|
|
|
process, and software for automake, autoconf, and plib:
|
|
|
|
<!--l. 424--><p class="indent"> <a
|
|
|
|
href="http://expert.cc.purdue.edu/~walisser/fg/fgdev.tar.gz" >http://expert.cc.purdue.edu/<img
|
|
|
|
src="getstart3x.gif" alt="~" class="tilde" > walisser/fg/fgdev.tar.gz</a>
|
|
|
|
<!--l. 427--><p class="noindent">or
|
|
|
|
<!--l. 431--><p class="indent"> <a
|
|
|
|
href="http://homepage.mac.com/walisser" >http://homepage.mac.com/walisser</a>
|
|
|
|
<!--l. 434--><p class="noindent">Once you have this extracted, make sure you are using TCSH as your shell, since the
|
|
|
|
setup script requires it.
|
|
|
|
<!--l. 438--><p class="noindent"><span
|
|
|
|
class="ptmb7t---109">Important for Jaguar users:</span>
|
|
|
|
<!--l. 441--><p class="indent"> If you run Mac OS X 10.2 or later, gcc 3.1 is the default compiler. However, only
|
|
|
|
version 2.95 works with <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>as of this writing. To change the default compiler,
|
|
|
|
run this command (as root). You’ll only have to do this once and it will have a global
|
|
|
|
effect on the system.
|
|
|
|
<!--l. 444--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">sudo gcc</span><span class="underline"><span
|
|
|
|
class="pcrr7t---109"> </span></span><span
|
|
|
|
class="pcrr7t---109">select 2</span>
|
|
|
|
<ol type="1" class="enumerate1" start="1"
|
|
|
|
>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17002x1"></a>Setup the build environment:
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd fgdev</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">source bin/prepare.csh</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17004x2"></a>Install the latest versions of the automake and autoconf build tools:
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src/automake-X.X.X</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./configure --prefix=$BUILDDIR</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">rehash</span>
|
|
|
|
<!--l. 457--><p class="noindent"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src/autoconf-X.XX</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./configure --prefix=$BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">rehash</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17006x3"></a>Download PLIB
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">setenv CVSROOT :pserver:anonymous@cvs.plib.sf.net:</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">/cvsroot/plib </span>(one line!)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs login</span>
|
|
|
|
<br class="newline">Press <span
|
|
|
|
class="cmmi-10--109"><</span>enter<span
|
|
|
|
class="cmmi-10--109">> </span>for password
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs -z3 checkout plib</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17008x4"></a>Build PLIB
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src/plib</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./autogen.sh</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./configure --prefix=$BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17010x5"></a>Get the <span
|
|
|
|
class="ptmbi7t---109">SimGear </span>sources
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">setenv CVSROOT :pserver:cvs@cvs.simgear.org:</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">/var/cvs/SimGear-0.0 </span>(one line)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs login</span>
|
|
|
|
<br class="newline">Enter <span
|
|
|
|
class="cmmi-10--109"><</span>guest<span
|
|
|
|
class="cmmi-10--109">> </span>for password
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs -z3 checkout SimGear</span>
|
|
|
|
<br class="newline">
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17012x6"></a>Build Metakit
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src/SimGear/src-libs</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">tar -zxvf metakit-X.X.X-32.tar.gz</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd metakit-X.X.X/builds</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">../unix/configure --prefix=&BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">--enable-static --disable-dynamic </span>(one line)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br class="newline">
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17014x7"></a>Build <span
|
|
|
|
class="ptmbi7t---109">SimGear</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src/SimGear</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./autogen.sh</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./configure --prefix=$BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
<br class="newline">
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17016x8"></a>Get the <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>sources
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">setenv CVSROOT :pserver:cvs@cvs.flightgear.org:</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">/var/cvs/FlightGear-0.X </span>(one line!)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs login</span>
|
|
|
|
<br class="newline">Enter <span
|
|
|
|
class="cmmi-10--109"><</span>guest<span
|
|
|
|
class="cmmi-10--109">> </span>for password
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs -z3 checkout FlightGear</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17018x9"></a>Build <span
|
|
|
|
class="ptmbi7t---109">FlightGear</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR/src/FlightGear</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">patch -p0 < ../jsb.diff</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./autogen.sh</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">./configure --prefix=$BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">--with-threads --without-x </span>(one line)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">make install</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17020x10"></a>Get the base data files (if you don’t have them already)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">setenv CVSROOT :pserver:cvsguest@rockfish.net:</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">/home/cvsroot </span>(one line)
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs login</span>
|
|
|
|
<br class="newline">Password is ”cvsguest”
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cvs -z3 checkout fgfsbase</span>
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17022x11"></a>Move data files (if you have them already)
|
|
|
|
<br class="newline">just make a symlink or copy data files to ”fgfsbase” in $BUILDDIR
|
|
|
|
<br class="newline">alternatively adjust <span
|
|
|
|
class="pcrr7t---109">--fg-root=xxx </span>parameter appropriately
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="enumerate"><a
|
|
|
|
name="x6-17024x12"></a>Run FlightGear
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">cd $BUILDDIR</span>
|
|
|
|
<br class="newline"><span
|
|
|
|
class="pcrr7t---109">src/FlightGear/src/Main/fgfs</span></li></ol>
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.6</span> <a
|
|
|
|
href="getstart.html#QQ2-6-18" name="x6-180002.6">Compiling on other systems</a></h3>
|
|
|
|
<!--l. 535--><p class="noindent">Compiling on other UNIX<a
|
|
|
|
name="dx6-18001"></a> systems - at least on IRIX<a
|
|
|
|
name="dx6-18002"></a> and on Solaris<a
|
|
|
|
name="dx6-18003"></a>, is pretty similar to
|
|
|
|
the procedure on Linux - given the presence of a working GNU C compiler. Especially
|
|
|
|
IRIX and also recent releases of Solaris come with the basic OpenGL libraries.<a
|
|
|
|
name="dx6-18004"></a>
|
|
|
|
Unfortunately the ”glut” libraries are mostly missing and have to be installed separately
|
|
|
|
(see the introductory remark to this chapter). As compilation of the ”glut” sources is not
|
|
|
|
a trivial task to everyone, you might want to use a pre-built binary. Everything you need
|
|
|
|
is a static library ”libglut.a” and an include file ”glut.h”. An easy way to make them
|
|
|
|
usable is to place them into <span
|
|
|
|
class="pcrr7t---109">/usr/lib/ </span>and <span
|
|
|
|
class="pcrr7t---109">/usr/include/GL/</span>. In case you insist
|
|
|
|
on building the library yourself, you might want to have a look at FreeGLUT<a
|
|
|
|
name="dx6-18005"></a>
|
|
|
|
<!--l. 546--><p class="indent"> <a
|
|
|
|
href="http://freeglut.sourceforge.net/" >http://freeglut.sourceforge.net/</a>
|
|
|
|
<!--l. 549--><p class="noindent">which should compile with minor tweaks. Necessary patches might be found in
|
|
|
|
<!--l. 553--><p class="indent"> <a
|
|
|
|
href="ftp://ftp.uni-duisburg.de/X11/OpenGL/freeglut_portable.patch" >ftp://ftp.uni-duisburg.de/X11/OpenGL/freeglut_portable.patch</a>
|
|
|
|
<!--l. 556--><p class="noindent">Please note that you do <span
|
|
|
|
class="ptmb7t---109">not </span>want to create 64 bit binaries in IRIX with GCC (even if your
|
|
|
|
CPU is a R10/12/14k) because GCC produces a broken ”fgfs” binary (in case the
|
|
|
|
compiler doesn’t stop with ”internal compiler error”). Things might look better if Eric
|
|
|
|
Hofman<a
|
|
|
|
name="dx6-18006"></a> manages to tweak the <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>sources for proper compiling with MIPSPro
|
|
|
|
compiler (it’s already mostly done).
|
|
|
|
<!--l. 563--><p class="indent"> There should be a workplace for Microsoft Visual C++<a
|
|
|
|
name="dx6-18007"></a> (MSVC6) included in the
|
|
|
|
official <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>distribution. Macintosh<a
|
|
|
|
name="dx6-18008"></a> users find the required CodeWarrior<a
|
|
|
|
name="dx6-18009"></a> files as a
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">.bin </span>archive at
|
|
|
|
<!--l. 568--><p class="indent"> <a
|
|
|
|
href="http://icdweb.cc.purdue.edu/~walisser/fg/" >http://icdweb.cc.purdue.edu/<img
|
|
|
|
src="getstart4x.gif" alt="~" class="tilde" > walisser/fg/</a>.
|
|
|
|
<!--l. 570--><p class="indent"> Numerous (although outdated, at times) hints on compiling on different systems are
|
|
|
|
included in the source code under <span
|
|
|
|
class="pcrr7t---109">docs-mini</span>.
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.7</span> <a
|
|
|
|
href="getstart.html#QQ2-6-19" name="x6-190002.7">Installing the base package</a></h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 576--><p class="noindent">If you succeeded in performing the steps named above, you will have a directory holding
|
|
|
|
the executables for <span
|
|
|
|
class="ptmbi7t---109">FlightGear</span>. This is not yet sufficient for performing <span
|
|
|
|
class="ptmbi7t---109">FlightGear</span>,
|
|
|
|
though. Besides those, you will need a collection of support data files (scenery,
|
|
|
|
aircraft, sound) collected in the so-called base package. In case you compiled
|
|
|
|
the latest official release, the accompanying base package is available from
|
|
|
|
<!--l. 583--><p class="indent"> <a
|
|
|
|
href="ftp://www.flightgear.org/pub/flightgear/Shared/fgfs-base-X.X.X.tar.gz" >ftp://www.flightgear.org/pub/flightgear/Shared/fgfs-base-X.X.X.tar.gz</a>.
|
|
|
|
<!--l. 585--><p class="indent"> This package<a
|
|
|
|
name="dx6-19001"></a> is usually quite large (around 25 MB), but must be installed for
|
|
|
|
<span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>to run. There is no compilation required for it. Just download it to
|
|
|
|
<span
|
|
|
|
class="pcrr7t---109">/usr/local </span>and install it with
|
|
|
|
<!--l. 589--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">tar xvfz fgfs-base-X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 591--><p class="noindent">Now you should find all the <span
|
|
|
|
class="ptmbi7t---109">FlightGear </span>files under <span
|
|
|
|
class="pcrr7t---109">/usr/local/Flightgear </span>in the
|
|
|
|
following directory structure:<a
|
|
|
|
name="dx6-19002"></a><a
|
|
|
|
name="dx6-19003"></a>:
|
|
|
|
<!--l. 597--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">/usr/local/Flightgear</span>
|
|
|
|
<!--l. 599--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">/usr/local/Flightgear/Aircraft</span>
|
|
|
|
<!--l. 601--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">/usr/local/Flightgear/Aircraft-uiuc</span>
|
|
|
|
<!--l. 603--><p class="indent"> . . .
|
|
|
|
<!--l. 605--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">/usr/local/Flightgear/bin</span>
|
|
|
|
<!--l. 607--><p class="indent"> . . .
|
|
|
|
<!--l. 609--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">/usr/local/Flightgear/Weather</span>.
|
|
|
|
<h3 class="sectionHead"><span class="titlemark">2.8</span> <a
|
|
|
|
href="getstart.html#QQ2-6-20" name="x6-200002.8">For test pilots only: Building the CVS snapshots</a></h3>
|
|
|
|
<!--l. 616--><p class="noindent">It you are into adventures or feel you’re an advanced user, you can try one of the recent
|
|
|
|
bleeding edge snapshots<a
|
|
|
|
name="dx6-20001"></a><a
|
|
|
|
name="dx6-20002"></a> at
|
|
|
|
<!--l. 619--><p class="indent"> <a
|
|
|
|
href="http://www.flightgear.org/Downloads/" >http://www.flightgear.org/Downloads/</a>.
|
|
|
|
<!--l. 622--><p class="noindent">In this case you have to get the most recent Snapshot from <span
|
|
|
|
class="ptmbi7t---109">SimGear </span>at
|
|
|
|
<!--l. 626--><p class="indent"> <a
|
|
|
|
href="http://www.simgear.org/downloads.html" >http://www.simgear.org/downloads.html</a>
|
|
|
|
<!--l. 629--><p class="noindent">as well. But be prepared: These are for development and may (and often do) contain
|
|
|
|
bugs.
|
|
|
|
<!--l. 633--><p class="indent"> If you are using these CVS snapshots, the base package named above will usually not
|
|
|
|
be in sync with the recent code and you have to download the most recent developer’s
|
|
|
|
version from
|
|
|
|
<!--l. 638--><p class="indent"> <a
|
|
|
|
href="http://rockfish.net/fg/" >http://rockfish.net/fg/</a>.
|
|
|
|
<!--l. 641--><p class="noindent">We suggest downloading this package <span
|
|
|
|
class="pcrr7t---109">fgfs</span>_<span
|
|
|
|
class="pcrr7t---109">base-snap.X.X.X.tar.gz </span>to a
|
|
|
|
temporary directory. Now, decompress it using
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 646--><p class="indent"> <span
|
|
|
|
class="pcrr7t---109">tar xvfz fgfs</span>_<span
|
|
|
|
class="pcrr7t---109">base-snap.X.X.X.tar.gz</span>.
|
|
|
|
<!--l. 649--><p class="indent"> Finally, double-check you got the directory structure named above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="crosslinks"><p class="noindent">[<a
|
|
|
|
href="getstartch3.html" >next</a>] [<a
|
|
|
|
href="getstartch1.html" >prev</a>] [<a
|
|
|
|
href="getstartch1.html#tailgetstartch1.html" >prev-tail</a>] [<a
|
|
|
|
href="getstartch2.html" >front</a>] [<a
|
|
|
|
href="getstartpa1.html#getstartch2.html" >up</a>] </p></div><a
|
|
|
|
name="tailgetstartch2.html"></a>
|
|
|
|
</body></html>
|