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


Jump to: navigation, search
Fix header levels
For hints on using <tt>rpm</tt>-based distributions such as Redhat, Fedora and CentOS, please see [[CentOS]]. Please also see [[Superbuild]].
=== Introduction ===
<tt>download_and_compile.sh</tt> is a [https://www.gnu.org/software/bash/ Bash] script written for [https://www.debian.org/ Debian]-derived distributions ([https://www.ubuntu.com/ Ubuntu], [https://devuan.org/ Devuan], [https://www.linuxmint.com/ Linux Mint], etc.). Its purpose is to automatically install dependencies using the package manager, then build and install FlightGear-related programs.
Apart from its main purpose, <tt>download_and_compile.sh</tt> can be used to find hopefully up-to-date build-dependency information for FlightGear and related software. You would do so by inspecting [https://sourceforge.net/p/flightgear/fgmeta/ci/next/tree/download_and_compile.sh the script] at the point where it installs packages.<ref name="note-inspecting-download-and-compile-sh-to-gather-build-dependency-information">Look for strings such as <tt>zlib1g-dev</tt>, <tt>libglew-dev</tt> or <tt>qt5-default</tt>.</ref>
=== Update Available ===
The latest version of <tt>download_and_compile.sh</tt> can be obtained {{fgmeta source
}}, however there are advantages getting it from an [[FGMeta]] clone as explained [[User:Rominet#Getting_download_and_compile.sh_the_.E2.80.9Cright_way.E2.80.9D|here]]. Contents should be moved from [[User:Rominet|there]] to this page; this and the following section are not up-to-date at the time of this writing.
=== Cut to the Chase: for the impatient ===
Beware: with the following, you are likely to encounter problems when cloning [[FGData]]: read just above.
{{Note|With <code>-j$(nproc)</code> as above, the compilation will use all cores available on your processor, which can save several hours. If you want to use, say, 4 cores, replace <code>-j$(nproc)</code> with <code>-j4</code>.}}
=== Conversion of directory structure from earlier versions of download_and_compile.sh ===
Earlier versions of the script used a different directory structure. If you used the earlier version, the new script includes a section that will convert the earlier structure to the current set of directories.
=== Disk Space Requirements ===
As of April 2019, building FlightGear requires about 12 [https://en.wikipedia.org/wiki/Gibibyte GiB] of disk space. Note that this includes downloaded source code for [[SimGear]] and FlightGear, generated build files and the large [[FGData]] repository (about 6 GiB for that one).
=== List of compiled programs ===
The <tt>download_and_compile.sh</tt> script is able to download and compile:
* [[SimGear]] (”base libraries” that are part of the FlightGear project, and required)
You get the idea. When several components are passed on the same command line, <tt>download_and_compile.sh</tt> chooses a reasonable order for processing, so don't worry about that.
==== When building Next you may see build errors ====
Keeping in mind that this script compiles sometimes bleeding edge software, it can happen that what was successfully compiling last week, does not compile anymore today. Building the stable version should always work, unless there is a problem with the script.

Navigation menu