<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flughund</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flughund"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Flughund"/>
	<updated>2026-05-24T20:23:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=$FG_HOME&amp;diff=141559</id>
		<title>$FG HOME</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=$FG_HOME&amp;diff=141559"/>
		<updated>2025-03-20T00:49:32Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Rant Mark II&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Broken image [[File:Fghome.png|400px|right|Screen shot showing structure of [[$FG_HOME]] ]] --&amp;gt;&lt;br /&gt;
[[File:Fghome-3.7.png|400px|right|Screen shot showing typical structure [[$FG_HOME]]]]&lt;br /&gt;
&lt;br /&gt;
The [[Environment variables|environment variable]]&amp;lt;code&amp;gt;'''$FG_HOME'''&amp;lt;/code&amp;gt; is a '''setting''' indicating the main location where user-specific FlightGear data is stored (not application data). &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is a notable place were FlightGear data is written to. &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is also where large amounts of data downloaded by FlightGear like [[TerraSync]] scenery or Aircraft data is written to, by default. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; should not be confused with  &amp;lt;code&amp;gt;[[$FG_ROOT]]&amp;lt;/code&amp;gt;, which is generally read-only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is normally used to refer to the operating system specific location for some settings/folders. Its default value is determined by the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary during startup and is a directory that varies with the operating system supported by FG (Windows, OS X and Linux). ''It is [https://sourceforge.net/p/flightgear/mailman/message/34995089/ highly recommended] to rely on the default value (i.e., not setting &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; yourself in any way), unless you Really Know What You Are Doing™.'' '''''Why is that?! What if one does not want fgfs to glut their $HOME folder with a massive amount of data (13G ~/.fgfs/TextureCache/)? Why is it so difficult to select another location? Why do developers think hiding the internals of a programme from the user is a good thing? This project claimed to be a simulator. Now it is a mere game. The qt launcher looks like an app. We do not want apps, we liked fgrun. Even specifiying --prop:sim/fg-home=$some_path does not prevent fgfs from clogging the $HOME folder.'''''&lt;br /&gt;
'''''We are aware of the possibility to set the env var. But that is not a userfriendly option. With the transition from fgrun to the qt launcher users have been stripped of the knowledge about the sim's, pardon me, game's, available options. The qt launcher is, in fact, not more userfriendly but more of a user dictation.''''''&lt;br /&gt;
Very advanced users (i.e. power users and developers) who wish to run parallel installs of FlightGear can specify a different &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; for each install as described below. '''''Really?! Where below? Do you have link to that section?!'''''&lt;br /&gt;
&lt;br /&gt;
{{note|The &amp;lt;code&amp;gt;/sim/fg-home&amp;lt;/code&amp;gt; property should be considered read-only, for similar reasons why &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; shouldn't be explicitly set by users.}}&lt;br /&gt;
{{note|FlightGear reads the &amp;lt;code&amp;gt;[[Fgfsrc|fgfsrc]]&amp;lt;/code&amp;gt; config file from &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; if it exists (&amp;lt;tt&amp;gt;fgfsrc&amp;lt;/tt&amp;gt; without any leading dot), in addition to &amp;lt;tt&amp;gt;.fgfsrc&amp;lt;/tt&amp;gt; from &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; (with a leading dot in this case).}}&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
In &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is information stored between sessions.  That information is for example configuration/preferences, properties marked with the &amp;lt;code&amp;gt;user-archive&amp;lt;/code&amp;gt; attribute and aircraft-specific settings (using the data helper class in &amp;lt;code&amp;gt;aircraft.nas&amp;lt;/code&amp;gt;).  &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is also the location for the SQLite-based [[Navdata cache|navdata cache]].&lt;br /&gt;
&lt;br /&gt;
== Common paths ==&lt;br /&gt;
You can determine the location of your &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; by using the [[property browser]] and checking the value of &amp;lt;code&amp;gt;/sim/fg-home&amp;lt;/code&amp;gt;, but the usual paths are shown below.&lt;br /&gt;
&lt;br /&gt;
You can also use the [[Nasal Console]] to print out &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var path = getprop(&amp;quot;/sim/fg-home&amp;quot;);&lt;br /&gt;
print(&amp;quot;Your $FG_HOME is at: &amp;quot;, path);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/sim/&amp;lt;/code&amp;gt; property subtree is also the place where you can find other folders, such as &amp;lt;code&amp;gt;fg-root&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fg-scenery&amp;lt;/code&amp;gt; and the current working directory (&amp;lt;code&amp;gt;fg-current&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;code&amp;gt;~/.fgfs/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
&amp;lt;code&amp;gt;~/Library/Application Support/FlightGear&amp;lt;/code&amp;gt; (`~/Library` is a hidden folder by default. In versions of macOS newer than 10.12, you can use the shortcut `Cmd + Shift + .` to view hidden folders. For older versions, see [http://www.mikesel.info/show-hidden-files-mac-os-x-10-7-lion/])&lt;br /&gt;
&lt;br /&gt;
As all future FlightGear versions will take their preferences from here, it is a good idea to have their access available easily.&lt;br /&gt;
&lt;br /&gt;
Desktop/Finder/Go/Go to Folder is where you need to start.&lt;br /&gt;
&lt;br /&gt;
When given the option, input:  &amp;lt;code&amp;gt;~/Library/Application Support/FlightGear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is probably a good idea to have &amp;lt;code&amp;gt;~/Library/Application Support/FlightGear&amp;lt;/code&amp;gt; saved on a Stickies note just in case you forget it.&lt;br /&gt;
&lt;br /&gt;
If you want/need to refer to any of these files frequently, you could make an alias of a file, or the whole folder, and place it somewhere easier to access. TerraSync data is stored in &amp;lt;code&amp;gt;$FG_HOME/TerraSync&amp;lt;/code&amp;gt; in the default configuration, see [[TerraSync]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
==== FlightGear 2020.3 and later ====&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%\FlightGear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; is the directory that contains the [https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776892(v=vs.85) Windows user profile] ([http://web.archive.org/web/20210320110758/https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776892%28v=vs.85%29 perm])&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;Ways to find the&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; directory: 1). Press &amp;lt;code&amp;gt;Windows key+R&amp;lt;/code&amp;gt;or bring up the RUN box. Type &amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; to open. 2). In command prompt, type &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; is&amp;lt;code&amp;gt;%homedrive%\Users\''User name''&amp;lt;/code&amp;gt; by default. Usually on most peoples systems: &amp;lt;Code&amp;gt;%homedrive%&amp;lt;/Code&amp;gt; is C:\. &lt;br /&gt;
&lt;br /&gt;
For example if your user profile was called &amp;lt;code&amp;gt;MyUserProfile&amp;lt;/code&amp;gt;, it would most often be located under &amp;lt;code&amp;gt;C:\Users\MyUserProfile&amp;lt;/code&amp;gt; . Then the path to &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; would be &amp;lt;code&amp;gt;C:\Users\MyUserProfile\FlightGear.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 2020.3.x the [[FlightGear Qt launcher|qt-launcher]] will notify users who have data in the old location under &amp;lt;code&amp;gt;%userprofile%\Documents\FlightGear&amp;lt;/code&amp;gt;, and prompt users to move files to the new location under &amp;lt;code&amp;gt;%userprofile%\FlightGear&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== FlightGear 3.0 and later ====&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%\Documents\FlightGear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;%homedrive%\Users\''User name''&amp;lt;/code&amp;gt; by default, and &amp;lt;Code&amp;gt;%homedrive%&amp;lt;/code&amp;gt; is usually C:\.&lt;br /&gt;
&lt;br /&gt;
==== Before FlightGear 3.0 ====&lt;br /&gt;
&amp;lt;code&amp;gt;%APPDATA%\flightgear.org\&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%APPDATA%&amp;lt;/code&amp;gt; is another environment variable that depends on your Windows version. On XP and older, it can be found under &amp;lt;code&amp;gt;C:\Documents and Settings\''User name''\Application Data&amp;lt;/code&amp;gt;. On Vista and later it can be found under &amp;lt;code&amp;gt;C:\Users\''User name''\AppData\Roaming&amp;lt;/code&amp;gt;. The folder is hidden by default. See [http://windows.microsoft.com/en-US/windows-vista/show-hidden-files these instructions] to show the folder.&lt;br /&gt;
&lt;br /&gt;
== Use in troubleshooting ==&lt;br /&gt;
As one user once said, &amp;quot;When in doubt delete &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt;&amp;quot;. Many problems, including corrupted databases, broken [[TerraSync]] and many others can be fixed by deleting &amp;lt;code&amp;gt;fgfs_0.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fgfs.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;terrasync_cache&amp;lt;/code&amp;gt;, and the [[Navdata cache|navdata cache]].&lt;br /&gt;
&lt;br /&gt;
When you encounter problems, try deleting the files, but '''always''' keep the &amp;lt;code&amp;gt;[[Commonly used debugging tools#fgfs.log|fgfs.log]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fgfs_0.log&amp;lt;/code&amp;gt; log files to help in troubleshooting.&lt;br /&gt;
&lt;br /&gt;
== Power Users ==&lt;br /&gt;
&lt;br /&gt;
=== Parallel installs of FlightGear ===&lt;br /&gt;
Note you can also override FG_HOME in the environment, to have totally distinct installs - this would be my recommend approach to running multiple versions in parallel.&lt;br /&gt;
(The installers will always replace the stable / dev version as other commenters pointed out, so you can't use those so easily, you need to copy files around - I'm nota Windows expert so I don't know if there something that could be changed or improved here)&lt;br /&gt;
If you start multiple instances (the same version or different) of FGFS using the same value of FG_HOME (whether that be the default or a custom one), we use a lock file to ensure only one (the first) has write access. The rest will go into read-only mode, and as you can maybe guess, treat FG_HOME as read-only.&lt;br /&gt;
Sharing of aircraft / scenery is entirely about which paths are configured, BTW. However, one final caveat is that having multiple instances both running TerraSync, using the same terrasync dir, would likely act a bit funny. It ought to actually work, but it might download some things twice, and it's not a tested or supported configuration for the moment.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=304170#p304170 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Is it possible to install multiple instanes of FG in Win &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; zakalawe &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jan 25th, 2017 &lt;br /&gt;
  |added  =  Jan 25th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using the same [[TerraSync|TerraSyn]]&amp;lt;nowiki/&amp;gt;c directory can save a lot of downloading and disk space. You can use the --terrasync-dir=path [[Command line options|command line]] option. For example --terrasync-dir=C:\Path\to\my\separate\terrasync\folder\TerraSync. It's possible to add this option in the &amp;lt;code&amp;gt;Settings &amp;gt; Additional Settings&amp;lt;/code&amp;gt; section of the [[qt-launcher]].&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[FlightGear configuration via XML]]&lt;br /&gt;
* [[$FG_ROOT]]&lt;br /&gt;
* [[Property browser]]&lt;br /&gt;
* [[Properties persistent between sessions]]&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Special directories|HOME]]&lt;br /&gt;
[[Category:Environment variables]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=$FG_HOME&amp;diff=141558</id>
		<title>$FG HOME</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=$FG_HOME&amp;diff=141558"/>
		<updated>2025-03-20T00:24:32Z</updated>

		<summary type="html">&lt;p&gt;Flughund: This is a rant. Read it. Feel free to reverse it. But only do so if you want your software controlling you and your hardware environment.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Broken image [[File:Fghome.png|400px|right|Screen shot showing structure of [[$FG_HOME]] ]] --&amp;gt;&lt;br /&gt;
[[File:Fghome-3.7.png|400px|right|Screen shot showing typical structure [[$FG_HOME]]]]&lt;br /&gt;
&lt;br /&gt;
The [[Environment variables|environment variable]]&amp;lt;code&amp;gt;'''$FG_HOME'''&amp;lt;/code&amp;gt; is a '''setting''' indicating the main location where user-specific FlightGear data is stored (not application data). &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is a notable place were FlightGear data is written to. &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is also where large amounts of data downloaded by FlightGear like [[TerraSync]] scenery or Aircraft data is written to, by default. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; should not be confused with  &amp;lt;code&amp;gt;[[$FG_ROOT]]&amp;lt;/code&amp;gt;, which is generally read-only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is normally used to refer to the operating system specific location for some settings/folders. Its default value is determined by the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary during startup and is a directory that varies with the operating system supported by FG (Windows, OS X and Linux). ''It is [https://sourceforge.net/p/flightgear/mailman/message/34995089/ highly recommended] to rely on the default value (i.e., not setting &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; yourself in any way), unless you Really Know What You Are Doing™.'' '''''Why is that?! What if one does not want fgfs to glut their $HOME folder with a massive amount of data (13G ~/.fgfs/TextureCache/)? Why is it so difficult to select another location? Why do developers think hiding the internals of a programme from the user is a good thing? This project claimed to be a simulator. Now it is a mere game. The qt launcher looks like an app. We do not want apps, we liked fgrun. Even specifiying --prop:sim/fg-home=$some_path does not prevent fgfs from clogging the $HOME folder.'''''&lt;br /&gt;
&lt;br /&gt;
Very advanced users (i.e. power users and developers) who wish to run parallel installs of FlightGear can specify a different &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; for each install as described below. &lt;br /&gt;
&lt;br /&gt;
{{note|The &amp;lt;code&amp;gt;/sim/fg-home&amp;lt;/code&amp;gt; property should be considered read-only, for similar reasons why &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; shouldn't be explicitly set by users.}}&lt;br /&gt;
{{note|FlightGear reads the &amp;lt;code&amp;gt;[[Fgfsrc|fgfsrc]]&amp;lt;/code&amp;gt; config file from &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; if it exists (&amp;lt;tt&amp;gt;fgfsrc&amp;lt;/tt&amp;gt; without any leading dot), in addition to &amp;lt;tt&amp;gt;.fgfsrc&amp;lt;/tt&amp;gt; from &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; (with a leading dot in this case).}}&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
In &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is information stored between sessions.  That information is for example configuration/preferences, properties marked with the &amp;lt;code&amp;gt;user-archive&amp;lt;/code&amp;gt; attribute and aircraft-specific settings (using the data helper class in &amp;lt;code&amp;gt;aircraft.nas&amp;lt;/code&amp;gt;).  &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; is also the location for the SQLite-based [[Navdata cache|navdata cache]].&lt;br /&gt;
&lt;br /&gt;
== Common paths ==&lt;br /&gt;
You can determine the location of your &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; by using the [[property browser]] and checking the value of &amp;lt;code&amp;gt;/sim/fg-home&amp;lt;/code&amp;gt;, but the usual paths are shown below.&lt;br /&gt;
&lt;br /&gt;
You can also use the [[Nasal Console]] to print out &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var path = getprop(&amp;quot;/sim/fg-home&amp;quot;);&lt;br /&gt;
print(&amp;quot;Your $FG_HOME is at: &amp;quot;, path);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/sim/&amp;lt;/code&amp;gt; property subtree is also the place where you can find other folders, such as &amp;lt;code&amp;gt;fg-root&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fg-scenery&amp;lt;/code&amp;gt; and the current working directory (&amp;lt;code&amp;gt;fg-current&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;code&amp;gt;~/.fgfs/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
&amp;lt;code&amp;gt;~/Library/Application Support/FlightGear&amp;lt;/code&amp;gt; (`~/Library` is a hidden folder by default. In versions of macOS newer than 10.12, you can use the shortcut `Cmd + Shift + .` to view hidden folders. For older versions, see [http://www.mikesel.info/show-hidden-files-mac-os-x-10-7-lion/])&lt;br /&gt;
&lt;br /&gt;
As all future FlightGear versions will take their preferences from here, it is a good idea to have their access available easily.&lt;br /&gt;
&lt;br /&gt;
Desktop/Finder/Go/Go to Folder is where you need to start.&lt;br /&gt;
&lt;br /&gt;
When given the option, input:  &amp;lt;code&amp;gt;~/Library/Application Support/FlightGear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is probably a good idea to have &amp;lt;code&amp;gt;~/Library/Application Support/FlightGear&amp;lt;/code&amp;gt; saved on a Stickies note just in case you forget it.&lt;br /&gt;
&lt;br /&gt;
If you want/need to refer to any of these files frequently, you could make an alias of a file, or the whole folder, and place it somewhere easier to access. TerraSync data is stored in &amp;lt;code&amp;gt;$FG_HOME/TerraSync&amp;lt;/code&amp;gt; in the default configuration, see [[TerraSync]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
==== FlightGear 2020.3 and later ====&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%\FlightGear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; is the directory that contains the [https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776892(v=vs.85) Windows user profile] ([http://web.archive.org/web/20210320110758/https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776892%28v=vs.85%29 perm])&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;Ways to find the&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; directory: 1). Press &amp;lt;code&amp;gt;Windows key+R&amp;lt;/code&amp;gt;or bring up the RUN box. Type &amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; to open. 2). In command prompt, type &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; is&amp;lt;code&amp;gt;%homedrive%\Users\''User name''&amp;lt;/code&amp;gt; by default. Usually on most peoples systems: &amp;lt;Code&amp;gt;%homedrive%&amp;lt;/Code&amp;gt; is C:\. &lt;br /&gt;
&lt;br /&gt;
For example if your user profile was called &amp;lt;code&amp;gt;MyUserProfile&amp;lt;/code&amp;gt;, it would most often be located under &amp;lt;code&amp;gt;C:\Users\MyUserProfile&amp;lt;/code&amp;gt; . Then the path to &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt; would be &amp;lt;code&amp;gt;C:\Users\MyUserProfile\FlightGear.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 2020.3.x the [[FlightGear Qt launcher|qt-launcher]] will notify users who have data in the old location under &amp;lt;code&amp;gt;%userprofile%\Documents\FlightGear&amp;lt;/code&amp;gt;, and prompt users to move files to the new location under &amp;lt;code&amp;gt;%userprofile%\FlightGear&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== FlightGear 3.0 and later ====&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%\Documents\FlightGear&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%userprofile%&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;%homedrive%\Users\''User name''&amp;lt;/code&amp;gt; by default, and &amp;lt;Code&amp;gt;%homedrive%&amp;lt;/code&amp;gt; is usually C:\.&lt;br /&gt;
&lt;br /&gt;
==== Before FlightGear 3.0 ====&lt;br /&gt;
&amp;lt;code&amp;gt;%APPDATA%\flightgear.org\&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;%APPDATA%&amp;lt;/code&amp;gt; is another environment variable that depends on your Windows version. On XP and older, it can be found under &amp;lt;code&amp;gt;C:\Documents and Settings\''User name''\Application Data&amp;lt;/code&amp;gt;. On Vista and later it can be found under &amp;lt;code&amp;gt;C:\Users\''User name''\AppData\Roaming&amp;lt;/code&amp;gt;. The folder is hidden by default. See [http://windows.microsoft.com/en-US/windows-vista/show-hidden-files these instructions] to show the folder.&lt;br /&gt;
&lt;br /&gt;
== Use in troubleshooting ==&lt;br /&gt;
As one user once said, &amp;quot;When in doubt delete &amp;lt;code&amp;gt;$FG_HOME&amp;lt;/code&amp;gt;&amp;quot;. Many problems, including corrupted databases, broken [[TerraSync]] and many others can be fixed by deleting &amp;lt;code&amp;gt;fgfs_0.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fgfs.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;terrasync_cache&amp;lt;/code&amp;gt;, and the [[Navdata cache|navdata cache]].&lt;br /&gt;
&lt;br /&gt;
When you encounter problems, try deleting the files, but '''always''' keep the &amp;lt;code&amp;gt;[[Commonly used debugging tools#fgfs.log|fgfs.log]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fgfs_0.log&amp;lt;/code&amp;gt; log files to help in troubleshooting.&lt;br /&gt;
&lt;br /&gt;
== Power Users ==&lt;br /&gt;
&lt;br /&gt;
=== Parallel installs of FlightGear ===&lt;br /&gt;
Note you can also override FG_HOME in the environment, to have totally distinct installs - this would be my recommend approach to running multiple versions in parallel.&lt;br /&gt;
(The installers will always replace the stable / dev version as other commenters pointed out, so you can't use those so easily, you need to copy files around - I'm nota Windows expert so I don't know if there something that could be changed or improved here)&lt;br /&gt;
If you start multiple instances (the same version or different) of FGFS using the same value of FG_HOME (whether that be the default or a custom one), we use a lock file to ensure only one (the first) has write access. The rest will go into read-only mode, and as you can maybe guess, treat FG_HOME as read-only.&lt;br /&gt;
Sharing of aircraft / scenery is entirely about which paths are configured, BTW. However, one final caveat is that having multiple instances both running TerraSync, using the same terrasync dir, would likely act a bit funny. It ought to actually work, but it might download some things twice, and it's not a tested or supported configuration for the moment.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=304170#p304170 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Is it possible to install multiple instanes of FG in Win &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; zakalawe &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jan 25th, 2017 &lt;br /&gt;
  |added  =  Jan 25th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using the same [[TerraSync|TerraSyn]]&amp;lt;nowiki/&amp;gt;c directory can save a lot of downloading and disk space. You can use the --terrasync-dir=path [[Command line options|command line]] option. For example --terrasync-dir=C:\Path\to\my\separate\terrasync\folder\TerraSync. It's possible to add this option in the &amp;lt;code&amp;gt;Settings &amp;gt; Additional Settings&amp;lt;/code&amp;gt; section of the [[qt-launcher]].&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[FlightGear configuration via XML]]&lt;br /&gt;
* [[$FG_ROOT]]&lt;br /&gt;
* [[Property browser]]&lt;br /&gt;
* [[Properties persistent between sessions]]&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Special directories|HOME]]&lt;br /&gt;
[[Category:Environment variables]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=141393</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=141393"/>
		<updated>2025-02-21T19:58:19Z</updated>

		<summary type="html">&lt;p&gt;Flughund: removed libc-ares-dev from dependencies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: On Debian replace &amp;lt;code&amp;gt;libeudev-dev&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;libudev-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libc-ares-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libc-ares-dev libopenscenegraph-dev libplib-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev libjpeg62-turbo-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev librsvg2-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [https://wiki.debian.org/EnvironmentVariables environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2024.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1   #OR#   export FG_VERSION=next&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== libc-ares ===&lt;br /&gt;
This step is only required to compile FlightGear 'next':&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://github.com/c-ares/c-ares.git libc-ares.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libc-ares.git&lt;br /&gt;
 git checkout v1.34.2&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-c-ares &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-c-ares&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libc-ares.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib|libplib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
To compile FlightGear release version branch &amp;lt;code&amp;gt;release/2024-build&amp;lt;/code&amp;gt; is required, for FlightGear next branch &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt;.&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;release/2024.1&amp;quot; ]; then export FG_OSG_VERSION=release/2024-build; fi&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;next&amp;quot; ]; then export FG_OSG_VERSION=next; fi&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout $FG_OSG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
libgdal-dev libsdl2-dev libcairo2-dev libgtk2.0-dev libgtkglext1-dev libxrandr-dev libxinerama-dev libdcmtk-dev libgles2-mesa-dev libcoin-dev&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/simgear.git simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/simgear.git fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/flightgear.git flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR, the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=141386</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=141386"/>
		<updated>2025-02-18T17:53:21Z</updated>

		<summary type="html">&lt;p&gt;Flughund: sfourceforge  --&amp;gt; gitlab&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: On Debian replace &amp;lt;code&amp;gt;libeudev-dev&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;libudev-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libc-ares-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libc-ares-dev libopenscenegraph-dev libplib-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev libjpeg62-turbo-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev librsvg2-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [https://wiki.debian.org/EnvironmentVariables environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2024.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1   #OR#   export FG_VERSION=next&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== libc-ares ===&lt;br /&gt;
This step is only required to compile FlightGear 'next':&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://github.com/c-ares/c-ares.git libc-ares.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libc-ares.git&lt;br /&gt;
 git checkout v1.34.2&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-c-ares &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-c-ares&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libc-ares.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib|libplib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
To compile FlightGear release version branch &amp;lt;code&amp;gt;release/2024-build&amp;lt;/code&amp;gt; is required, for FlightGear next branch &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt;.&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;release/2024.1&amp;quot; ]; then export FG_OSG_VERSION=release/2024-build; fi&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;next&amp;quot; ]; then export FG_OSG_VERSION=next; fi&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout $FG_OSG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
libgdal-dev libsdl2-dev libcairo2-dev libgtk2.0-dev libgtkglext1-dev libxrandr-dev libxinerama-dev libdcmtk-dev libgles2-mesa-dev libcoin-dev&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/simgear.git simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/simgear.git fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/flightgear.git flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR, the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=141204</id>
		<title>FlightGear IRC channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=141204"/>
		<updated>2025-01-09T01:41:00Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Some minor updates. (ChatZilla, Other Hosts, voice due to spam)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEFAULTSORT:IRC channel}}&lt;br /&gt;
The '''FlightGear IRC Network''' is an online system that will allow you to talk to a lot of people around the world and is related to everything about [[FlightGear]]. It's mostly used by developers, but it is also a good place to ask for help if you are having a question.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
It consists of localised servers that are all linked up to form a seamless chat network so if you are based in England you would connect to a nearby server in England and you would see exactly the same people as someone connecting to a server in the USA.&lt;br /&gt;
&lt;br /&gt;
To connect to the IRCnet network you first need a suitable client. You can also use [http://www.xchat.org/ XChat] (Linux and Windows), [http://sourceforge.net/projects/xchataqua/ X-Chat Aqua] (X Chat Mac),  [http://www.pidgin.im/ Pidgin], [http://colloquy.info/ Colloquy] (for Mac/iOS), [http://www.mirc.com/ mIRC], [https://Konversation.kde.org Konversation] or any other client.&lt;br /&gt;
&lt;br /&gt;
When you first login to the network you must pick yourself a unique nickname for the current chat session. Nicknames can be up to 31 characters in length and contain numbers and some punctuation characters. Some examples of nicknames you can use are:&lt;br /&gt;
&lt;br /&gt;
* Fred&lt;br /&gt;
* BIG_fred&lt;br /&gt;
* ^Fred^&lt;br /&gt;
* Fred-&lt;br /&gt;
* ^Fred&lt;br /&gt;
* fred007&lt;br /&gt;
&lt;br /&gt;
It doesn't matter about capital or lower case letters in the nickname since they are treated the same when people want to contact you and there are some weird and obscure rules about nicknames such as them not being able to begin with a &amp;quot;-&amp;quot; character. Most of these rules have no rhyme nor reason to them but we didn't write the software, we just have to try and tell people how to use it. Have an experiment and see what suits you best.&lt;br /&gt;
&lt;br /&gt;
Once you found your personal unique nickname you may want to register it with [[#Network_Services|NickServ]] (see below).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Official hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Host !! Location&lt;br /&gt;
|-&lt;br /&gt;
| de.irc.flightgear.org&lt;br /&gt;
| Germany&lt;br /&gt;
|-&lt;br /&gt;
| irc.flightgear.org&lt;br /&gt;
| currently an alias for de.irc.flightgear.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''port''' to connect to is 6667 (or 6659 for SSL) for each server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;These servers are interconnected to form the FlightGear IRC network. Please choose the host closest to you geographically.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The FlightGear IRC network has several channels, some of which are listed below. To obtain a real list, use the IRC command &amp;quot;/list&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Use&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Main channel (English). &amp;lt;/br&amp;gt; If you get a message ''Cannot send to channel (+m)'' we're plagued by spam. In that case [[FlightGear_IRC_channel#NickServ|register]] your nick and contact (query) ''lru'' (or another operator) for autovoice.&lt;br /&gt;
|-&lt;br /&gt;
| #fg_school&lt;br /&gt;
| [[FlightGear Flight Academy | Flight School]] &lt;br /&gt;
|-&lt;br /&gt;
| #fgms&lt;br /&gt;
| [[fgms | Multiplayer Server]] related stuff&lt;br /&gt;
|-&lt;br /&gt;
| #fg_cantene&lt;br /&gt;
| Off topic community &lt;br /&gt;
|-&lt;br /&gt;
| #wiki&lt;br /&gt;
| Everything regarding our Wiki&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-forum&lt;br /&gt;
| Forum&lt;br /&gt;
|-&lt;br /&gt;
| #help&lt;br /&gt;
| General help on IRC and a go to with issues regarding our IRC network.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Network Services ==&lt;br /&gt;
=== NickServ ===&lt;br /&gt;
NickServ allows you to &amp;quot;register&amp;quot; a nickname and prevent others from using it. In addition to that, occasionally we're plagued by spam, and only registered users are allowed to talk (voice). If you get a message ''Cannot send to channel (+m)'' this is the case. After registration query an operator to be granted voice. Thank you for understanding!&lt;br /&gt;
&lt;br /&gt;
The following commands allow for registration and maintenance of nicknames; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
Some of the common commands are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GROUP&lt;br /&gt;
| Adds a nickname to your account.&lt;br /&gt;
|-&lt;br /&gt;
| IDENTIFY&lt;br /&gt;
| Identifies to services for a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GHOST&lt;br /&gt;
| Reclaims use of a nickname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This service is intended to provide a way for IRC users to ensure their identity is not compromised. It is ''not'' intended to facilitate &amp;quot;stealing&amp;quot; of nicknames or other malicious actions.  Abuse of NickServ will result in, at minimum, loss of the abused nickname(s).&lt;br /&gt;
&lt;br /&gt;
=== ChanServ ===&lt;br /&gt;
ChanServ allows you to register and control various aspects of channels.  ChanServ can often prevent malicious users from &amp;quot;taking over&amp;quot; channels by limiting who is allowed channel operator privileges. Some available commands are listed below; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type:&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a channel.&lt;br /&gt;
|-&lt;br /&gt;
| RECOVER&lt;br /&gt;
| Regain control of your channel.&lt;br /&gt;
|-&lt;br /&gt;
| FLAGS&lt;br /&gt;
| Manipulates specific permissions on a channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MemoServ ===&lt;br /&gt;
MemoServ is a utility allowing IRC users to send short messages to other IRC users, whether they are online at the time or not.  Both the sender's nickname and the target nickname must be registered in order to send a memo.&lt;br /&gt;
&lt;br /&gt;
MemoServ's commands include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| READ&lt;br /&gt;
| Reads a memo.&lt;br /&gt;
|-&lt;br /&gt;
| SEND&lt;br /&gt;
| Sends a memo to a user.&lt;br /&gt;
|-&lt;br /&gt;
| SENDGROUP&lt;br /&gt;
| Sends a memo to all members on a group.&lt;br /&gt;
|-&lt;br /&gt;
| SENDOPS&lt;br /&gt;
| Sends a memo to all ops on a channel.&lt;br /&gt;
|-&lt;br /&gt;
| DELETE&lt;br /&gt;
| Deletes memos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For help on any of the above commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
To see a list of all available MemoServ commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP&lt;br /&gt;
&lt;br /&gt;
=== HostServ ===&lt;br /&gt;
HostServ allows users to request a virtual hostname. Normally we only allow IPs to be shown on a users&lt;br /&gt;
connection (so no dns lookups are made upon a new connection). To hide your host to other users you are&lt;br /&gt;
free to select a vhost from a predefined list (or a uniquely requested one) via hostserv. In that case&lt;br /&gt;
your selected hostname will be shown to others instead of your real IP.&lt;br /&gt;
&lt;br /&gt;
To see the list of all available commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg HostServ HELP&lt;br /&gt;
&lt;br /&gt;
Some commands of interest are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! IRC Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| OFFERLIST&lt;br /&gt;
| Lists all available vhosts.&lt;br /&gt;
|-&lt;br /&gt;
| TAKE&lt;br /&gt;
| Take an offered vhost for use.&lt;br /&gt;
|-&lt;br /&gt;
| ON&lt;br /&gt;
| Activate the taken vhost.&lt;br /&gt;
|-&lt;br /&gt;
| REQUEST&lt;br /&gt;
| Requests new virtual hostname for current nick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For further help type &amp;lt;tt&amp;gt;'''/msg ''SERVICE'' help'''&amp;lt;/tt&amp;gt; (replace &amp;lt;tt&amp;gt;''SERVICE''&amp;lt;/tt&amp;gt; with the name of the service)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other hosts ==&lt;br /&gt;
Our backup channel is located on [https://libera.chat libera]. For quick access, they provide a [https://web.libera.chat webchat client].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network:Port !! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| irc.libera.chat:6667&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Official backup channel.&lt;br /&gt;
|-&lt;br /&gt;
| irc.libera.chat:6667&lt;br /&gt;
| #fg_cantene&lt;br /&gt;
| Off topic chat.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to get in there with ChatZilla ==&lt;br /&gt;
[[File:IRC-ChatZilla.jpg|thumb|ChatZilla Client area]]&lt;br /&gt;
When using ChatZilla, go to your Mozilla/Firefox browser and enter [irc://de.irc.flightgear.org irc://de.irc.flightgear.org]. When ChatZilla has connected to the host, click &amp;quot;IRC&amp;quot; and &amp;quot;Join channel...&amp;quot;. Pick the preferred channel.&lt;br /&gt;
&lt;br /&gt;
To get directly to the main channel with ChatZilla, you can also enter [irc://de.irc.flightgear.org/flightgear irc://de.irc.flightgear.org/flightgear] in your browser.&lt;br /&gt;
&lt;br /&gt;
In case you get a message ''Cannot send to channel (+m)'' when attempting to talk, see [[FlightGear_IRC_channel#NickServ | NickServ]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.ircbeginner.com/ General information about IRC]&lt;br /&gt;
* [http://www.ircbeginner.com/ircinfo/ircc-commands.html General IRC commands]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=141198</id>
		<title>FlightGear IRC channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=141198"/>
		<updated>2025-01-07T00:43:17Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Channel list clean-up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEFAULTSORT:IRC channel}}&lt;br /&gt;
The '''FlightGear IRC Network''' is an online system that will allow you to talk to a lot of people around the world and is related to everything about [[FlightGear]]. It's mostly used by developers, but it is also a good place to ask for help if you are having a question.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
It consists of localised servers that are all linked up to form a seamless chat network so if you are based in England you would connect to a nearby server in England and you would see exactly the same people as someone connecting to a server in the USA.&lt;br /&gt;
&lt;br /&gt;
To connect to the IRCnet network you first need a suitable client. You can also use [http://www.xchat.org/ XChat] (Linux and Windows), [http://sourceforge.net/projects/xchataqua/ X-Chat Aqua] (X Chat Mac),  [http://www.pidgin.im/ Pidgin], [http://colloquy.info/ Colloquy] (for Mac/iOS), [http://www.mirc.com/ mIRC], [https://Konversation.kde.org Konversation] or any other client.&lt;br /&gt;
&lt;br /&gt;
When you first login to the network you must pick yourself a unique nickname for the current chat session. Nicknames can be up to 31 characters in length and contain numbers and some punctuation characters. Some examples of nicknames you can use are:&lt;br /&gt;
&lt;br /&gt;
* Fred&lt;br /&gt;
* BIG_fred&lt;br /&gt;
* ^Fred^&lt;br /&gt;
* Fred-&lt;br /&gt;
* ^Fred&lt;br /&gt;
* fred007&lt;br /&gt;
&lt;br /&gt;
It doesn't matter about capital or lower case letters in the nickname since they are treated the same when people want to contact you and there are some weird and obscure rules about nicknames such as them not being able to begin with a &amp;quot;-&amp;quot; character. Most of these rules have no rhyme nor reason to them but we didn't write the software, we just have to try and tell people how to use it. Have an experiment and see what suits you best.&lt;br /&gt;
&lt;br /&gt;
Once you found your personal unique nickname you may want to register it with [[#Network_Services|NickServ]] (see below).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Official hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Host !! Location&lt;br /&gt;
|-&lt;br /&gt;
| de.irc.flightgear.org&lt;br /&gt;
| Germany&lt;br /&gt;
|-&lt;br /&gt;
| irc.flightgear.org&lt;br /&gt;
| currently an alias for de.irc.flightgear.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''port''' to connect to is 6667 (or 6659 for SSL) for each server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;These servers are interconnected to form the FlightGear IRC network. Please choose the host closest to you geographically.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The FlightGear IRC network has several channels, some of which are listed below. To obtain a real list, use the IRC command &amp;quot;/list&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Use&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Main channel (English). &amp;lt;/br&amp;gt; Due to spamming it is required to have voice, [[FlightGear_IRC_channel#NickServ|register]] your nick and contact (query) ''lru'' for autovoice.&lt;br /&gt;
|-&lt;br /&gt;
| #fg_school&lt;br /&gt;
| [[FlightGear Flight Academy | Flight School]] &lt;br /&gt;
|-&lt;br /&gt;
| #fgms&lt;br /&gt;
| [[fgms | Multiplayer Server]] related stuff&lt;br /&gt;
|-&lt;br /&gt;
| #fg_cantene&lt;br /&gt;
| Off topic community &lt;br /&gt;
|-&lt;br /&gt;
| #wiki&lt;br /&gt;
| Everything regarding our Wiki&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-forum&lt;br /&gt;
| Forum&lt;br /&gt;
|-&lt;br /&gt;
| #help&lt;br /&gt;
| General help on IRC and a go to with issues regarding our IRC network.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Network Services ==&lt;br /&gt;
=== NickServ ===&lt;br /&gt;
NickServ allows you to &amp;quot;register&amp;quot; a nickname and prevent others from using it. The following commands allow for registration and maintenance of nicknames; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
Some of the common commands are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GROUP&lt;br /&gt;
| Adds a nickname to your account.&lt;br /&gt;
|-&lt;br /&gt;
| IDENTIFY&lt;br /&gt;
| Identifies to services for a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GHOST&lt;br /&gt;
| Reclaims use of a nickname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This service is intended to provide a way for IRC users to ensure their identity is not compromised. It is ''not'' intended to facilitate &amp;quot;stealing&amp;quot; of nicknames or other malicious actions.  Abuse of NickServ will result in, at minimum, loss of the abused nickname(s).&lt;br /&gt;
&lt;br /&gt;
=== ChanServ ===&lt;br /&gt;
ChanServ allows you to register and control various aspects of channels.  ChanServ can often prevent malicious users from &amp;quot;taking over&amp;quot; channels by limiting who is allowed channel operator privileges. Some available commands are listed below; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type:&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a channel.&lt;br /&gt;
|-&lt;br /&gt;
| RECOVER&lt;br /&gt;
| Regain control of your channel.&lt;br /&gt;
|-&lt;br /&gt;
| FLAGS&lt;br /&gt;
| Manipulates specific permissions on a channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MemoServ ===&lt;br /&gt;
MemoServ is a utility allowing IRC users to send short messages to other IRC users, whether they are online at the time or not.  Both the sender's nickname and the target nickname must be registered in order to send a memo.&lt;br /&gt;
&lt;br /&gt;
MemoServ's commands include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| READ&lt;br /&gt;
| Reads a memo.&lt;br /&gt;
|-&lt;br /&gt;
| SEND&lt;br /&gt;
| Sends a memo to a user.&lt;br /&gt;
|-&lt;br /&gt;
| SENDGROUP&lt;br /&gt;
| Sends a memo to all members on a group.&lt;br /&gt;
|-&lt;br /&gt;
| SENDOPS&lt;br /&gt;
| Sends a memo to all ops on a channel.&lt;br /&gt;
|-&lt;br /&gt;
| DELETE&lt;br /&gt;
| Deletes memos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For help on any of the above commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
To see a list of all available MemoServ commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP&lt;br /&gt;
&lt;br /&gt;
=== HostServ ===&lt;br /&gt;
HostServ allows users to request a virtual hostname. Normally we only allow IPs to be shown on a users&lt;br /&gt;
connection (so no dns lookups are made upon a new connection). To hide your host to other users you are&lt;br /&gt;
free to select a vhost from a predefined list (or a uniquely requested one) via hostserv. In that case&lt;br /&gt;
your selected hostname will be shown to others instead of your real IP.&lt;br /&gt;
&lt;br /&gt;
To see the list of all available commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg HostServ HELP&lt;br /&gt;
&lt;br /&gt;
Some commands of interest are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! IRC Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| OFFERLIST&lt;br /&gt;
| Lists all available vhosts.&lt;br /&gt;
|-&lt;br /&gt;
| TAKE&lt;br /&gt;
| Take an offered vhost for use.&lt;br /&gt;
|-&lt;br /&gt;
| REQUEST&lt;br /&gt;
| Requests new virtual hostname for current nick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For further help type &amp;lt;tt&amp;gt;'''/msg ''SERVICE'' help'''&amp;lt;/tt&amp;gt; (replace &amp;lt;tt&amp;gt;''SERVICE''&amp;lt;/tt&amp;gt; with the name of the service)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network !! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| irc.freenode.net&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Only for emergencies.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to get in there with ChatZilla ==&lt;br /&gt;
[[File:IRC-ChatZilla.jpg|thumb|ChatZilla Client area]]&lt;br /&gt;
When using ChatZilla, go to your Mozilla/Firefox browser and enter [irc://mpserver12.flightgear.org irc://mpserver12.flightgear.org]. When ChatZilla has connected to the host, click &amp;quot;IRC&amp;quot; and &amp;quot;Join channel...&amp;quot;. Pick the preferred channel.&lt;br /&gt;
&lt;br /&gt;
To get directly to the main channel with ChatZilla, you can also enter [irc://mpserver12.flightgear.org/flightgear irc://mpserver12.flightgear.org/flightgear] in your browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.ircbeginner.com/ General information about IRC]&lt;br /&gt;
* [http://www.ircbeginner.com/ircinfo/ircc-commands.html General IRC commands]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=141054</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=141054"/>
		<updated>2024-11-30T13:53:46Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Add new dependency libc-ares.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libc-ares-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libc-ares-dev libopenscenegraph-dev libplib-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev libjpeg62-turbo-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev librsvg2-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [https://wiki.debian.org/EnvironmentVariables environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2024.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1   #OR#   export FG_VERSION=next&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== libc-ares ===&lt;br /&gt;
This step is only required to compile FlightGear 'next':&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://github.com/c-ares/c-ares.git libc-ares.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libc-ares.git&lt;br /&gt;
 git checkout v1.34&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-c-ares &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-c-ares&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libc-ares.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib|libplib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
To compile FlightGear release version branch &amp;lt;code&amp;gt;release/2024-build&amp;lt;/code&amp;gt; is required, for FlightGear next branch &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt;.&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;release/2024.1&amp;quot; ]; then export FG_OSG_VERSION=release/2024-build; fi&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;next&amp;quot; ]; then export FG_OSG_VERSION=next; fi&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout $FG_OSG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
libgdal-dev libsdl2-dev libcairo2-dev libgtk2.0-dev libgtkglext1-dev libxrandr-dev libxinerama-dev libdcmtk-dev libgles2-mesa-dev libcoin-dev&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR, the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140967</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140967"/>
		<updated>2024-11-15T22:28:33Z</updated>

		<summary type="html">&lt;p&gt;Flughund: OSG update and some dependencies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libopenscenegraph-dev, libplib-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev libjpeg62-turbo-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev librsvg2-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [https://wiki.debian.org/EnvironmentVariables environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2024.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1   #OR#   export FG_VERSION=next&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
To compile FlightGear release version branch &amp;lt;code&amp;gt;release/2024-build&amp;lt;/code&amp;gt; is required, for FlightGear next branch &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt;.&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;release/2024.1&amp;quot; ]; then export FG_OSG_VERSION=release/2024-build; fi&lt;br /&gt;
 if [ &amp;quot;$FG_VERSION&amp;quot; = &amp;quot;next&amp;quot; ]; then export FG_OSG_VERSION=next; fi&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout $FG_OSG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
libgdal-dev libsdl2-dev libcairo2-dev libgtk2.0-dev libgtkglext1-dev libxrandr-dev libxinerama-dev libdcmtk-dev libgles2-mesa-dev libcoin-dev&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR, the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140927</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140927"/>
		<updated>2024-11-10T02:04:08Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Temporarily remove OSG from the equation until issues are resolved.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;&amp;lt;!--, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt;--&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libplib-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&amp;lt;!-- libpopenscenegraph-dev--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev libopenscenegraph-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [https://wiki.debian.org/EnvironmentVariables environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2024.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1  #OR#  export FG_VERSION=next&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
To compile FlightGear release version branch &amp;lt;code&amp;gt;release/2024-build&amp;lt;/code&amp;gt; is required, for FlightGear next branch &amp;lt;code&amp;gt;fgfs-osg-36-2&amp;lt;/code&amp;gt;.&lt;br /&gt;
 export FG_OSG_VERSION=release/2024-build  #OR#  export FG_OSG_VERSION=fgfs-osg-36-2&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout $FG_OSG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140917</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140917"/>
		<updated>2024-11-09T02:04:43Z</updated>

		<summary type="html">&lt;p&gt;Flughund: FG-OSG branch selection and fixed a broken link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libplib-dev libpopenscenegraph-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [https://wiki.debian.org/EnvironmentVariables environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2024.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1  #OR#  export FG_VERSION=next&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
To compile FlightGear release version branch &amp;lt;code&amp;gt;release/2024-build&amp;lt;/code&amp;gt; is required, for FlightGear next branch &amp;lt;code&amp;gt;fgfs-osg-36-2&amp;lt;/code&amp;gt;.&lt;br /&gt;
 export FG_OSG_VERSION=release/2024-build  #OR#  export FG_OSG_VERSION=fgfs-osg-36-2&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout $FG_OSG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140826</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140826"/>
		<updated>2024-10-26T13:31:07Z</updated>

		<summary type="html">&lt;p&gt;Flughund: OSG branch and libc-ares-dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libplib-dev libpopenscenegraph-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libc-ares-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2020.3&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout fgfs-osg-36-2&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140790</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=140790"/>
		<updated>2024-10-18T23:28:16Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update for the 2024.1 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For VR support add package &amp;lt;code&amp;gt;libopenxr-dev&amp;lt;/code&amp;gt; to the list below.&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libpopenscenegraph-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get remove libplib-dev libpopenscenegraph-dev libsimgear-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libavcodec-dev libavformat-dev libboost-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev liblzma-dev libopenal-dev libqt5quick5 libqt5svg5-dev libswscale-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2020.3&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2024.1&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://gitlab.com/flightgear/openscenegraph.git FG-OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd FG-OpenSceneGraph.git&lt;br /&gt;
 git checkout release/2024-build&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/FG-OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias fgfs='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH $FG_INSTALL_DIR/bin/fgfs' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#Keeping_it_current|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall; rm -R $FG_SRC_DIR/lib/osgPlugins-3.6.5&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/include/plib; rm $FG_INSTALL_DIR/lib/libplib*.a&lt;br /&gt;
 rm -RI $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=139879</id>
		<title>FlightGear IRC channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=139879"/>
		<updated>2024-05-26T03:35:05Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Voice required in #flightgear&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEFAULTSORT:IRC channel}}&lt;br /&gt;
The '''FlightGear IRC Network''' is an online system that will allow you to talk to a lot of people around the world and is related to everything about [[FlightGear]]. It's mostly used by developers, but it is also a good place to ask for help if you are having a question.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
It consists of localised servers that are all linked up to form a seamless chat network so if you are based in England you would connect to a nearby server in England and you would see exactly the same people as someone connecting to a server in the USA.&lt;br /&gt;
&lt;br /&gt;
To connect to the IRCnet network you first need a suitable client. You can also use [http://www.xchat.org/ XChat] (Linux and Windows), [http://sourceforge.net/projects/xchataqua/ X-Chat Aqua] (X Chat Mac),  [http://www.pidgin.im/ Pidgin], [http://colloquy.info/ Colloquy] (for Mac/iOS), [http://www.mirc.com/ mIRC], [https://Konversation.kde.org Konversation] or any other client.&lt;br /&gt;
&lt;br /&gt;
When you first login to the network you must pick yourself a unique nickname for the current chat session. Nicknames can be up to 31 characters in length and contain numbers and some punctuation characters. Some examples of nicknames you can use are:&lt;br /&gt;
&lt;br /&gt;
* Fred&lt;br /&gt;
* BIG_fred&lt;br /&gt;
* ^Fred^&lt;br /&gt;
* Fred-&lt;br /&gt;
* ^Fred&lt;br /&gt;
* fred007&lt;br /&gt;
&lt;br /&gt;
It doesn't matter about capital or lower case letters in the nickname since they are treated the same when people want to contact you and there are some weird and obscure rules about nicknames such as them not being able to begin with a &amp;quot;-&amp;quot; character. Most of these rules have no rhyme nor reason to them but we didn't write the software, we just have to try and tell people how to use it. Have an experiment and see what suits you best.&lt;br /&gt;
&lt;br /&gt;
Once you found your personal unique nickname you may want to register it with [[#Network_Services|NickServ]] (see below).&lt;br /&gt;
&lt;br /&gt;
== Official hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Host !! Location&lt;br /&gt;
|-&lt;br /&gt;
| de.irc.flightgear.org&lt;br /&gt;
| Germany&lt;br /&gt;
|-&lt;br /&gt;
| irc.flightgear.org&lt;br /&gt;
| currently an alias for de.irc.flightgear.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''port''' to connect to is 6667 (or 6659 for SSL) for each server.&lt;br /&gt;
&lt;br /&gt;
These servers are interconnected to form the FlightGear IRC network. Please choose the host closest to you geographically. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The FlightGear IRC network has several channels, some of which are listed below. To obtain a real list, use the IRC command &amp;quot;/list&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Use&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Main channel (English). &amp;lt;/br&amp;gt; Due to spamming it is required to have voice, [[FlightGear_IRC_channel#NickServ|register]] your nick and contact (query) ''lru'' for autovoice.&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-blender&lt;br /&gt;
| [[Blender]] &lt;br /&gt;
|-&lt;br /&gt;
| #flightgearFR&lt;br /&gt;
| FlightGear Channel for French Speaking &lt;br /&gt;
|-&lt;br /&gt;
|#flightgearIT&lt;br /&gt;
|FlightGear Channel for Italian Speaking&lt;br /&gt;
|-&lt;br /&gt;
| #flightgearNL&lt;br /&gt;
| FlightGear Channel for Dutch Speaking &lt;br /&gt;
|-&lt;br /&gt;
|#flightgearPL&lt;br /&gt;
|FlightGear Channel for Polish Speaking&lt;br /&gt;
|-&lt;br /&gt;
| #fg_school&lt;br /&gt;
| [[FlightGear Flight Academy|Flight School]] &lt;br /&gt;
|-&lt;br /&gt;
| #fgms&lt;br /&gt;
| [[fgms]] related stuff&lt;br /&gt;
|-&lt;br /&gt;
| #airliners&lt;br /&gt;
| IFR Navigation Squawk &lt;br /&gt;
|-&lt;br /&gt;
| #fg_cantene&lt;br /&gt;
| Off topic community &lt;br /&gt;
|-&lt;br /&gt;
| #fg-ru&lt;br /&gt;
| Russian Flightgear Community&lt;br /&gt;
|-&lt;br /&gt;
| #wiki&lt;br /&gt;
| Wiki &lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-forum&lt;br /&gt;
| Forum &lt;br /&gt;
|-&lt;br /&gt;
| #help&lt;br /&gt;
| general help on IRC&lt;br /&gt;
|-&lt;br /&gt;
| #staffers&lt;br /&gt;
| Server Admins&lt;br /&gt;
|-&lt;br /&gt;
| #flyingclub&lt;br /&gt;
| [[FlightGear Flying Club]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Network Services ==&lt;br /&gt;
=== NickServ ===&lt;br /&gt;
NickServ allows you to &amp;quot;register&amp;quot; a nickname and prevent others from using it. The following commands allow for registration and maintenance of nicknames; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
Some of the common commands are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GROUP&lt;br /&gt;
| Adds a nickname to your account.&lt;br /&gt;
|-&lt;br /&gt;
| IDENTIFY&lt;br /&gt;
| Identifies to services for a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GHOST&lt;br /&gt;
| Reclaims use of a nickname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This service is intended to provide a way for IRC users to ensure their identity is not compromised. It is ''not'' intended to facilitate &amp;quot;stealing&amp;quot; of nicknames or other malicious actions.  Abuse of NickServ will result in, at minimum, loss of the abused nickname(s).&lt;br /&gt;
&lt;br /&gt;
=== ChanServ ===&lt;br /&gt;
ChanServ allows you to register and control various aspects of channels.  ChanServ can often prevent malicious users from &amp;quot;taking over&amp;quot; channels by limiting who is allowed channel operator privileges. Some available commands are listed below; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type:&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a channel.&lt;br /&gt;
|-&lt;br /&gt;
| RECOVER&lt;br /&gt;
| Regain control of your channel.&lt;br /&gt;
|-&lt;br /&gt;
| FLAGS&lt;br /&gt;
| Manipulates specific permissions on a channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MemoServ ===&lt;br /&gt;
MemoServ is a utility allowing IRC users to send short messages to other IRC users, whether they are online at the time or not.  Both the sender's nickname and the target nickname must be registered in order to send a memo.&lt;br /&gt;
&lt;br /&gt;
MemoServ's commands include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| READ&lt;br /&gt;
| Reads a memo.&lt;br /&gt;
|-&lt;br /&gt;
| SEND&lt;br /&gt;
| Sends a memo to a user.&lt;br /&gt;
|-&lt;br /&gt;
| SENDGROUP&lt;br /&gt;
| Sends a memo to all members on a group.&lt;br /&gt;
|-&lt;br /&gt;
| SENDOPS&lt;br /&gt;
| Sends a memo to all ops on a channel.&lt;br /&gt;
|-&lt;br /&gt;
| DELETE&lt;br /&gt;
| Deletes memos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For help on any of the above commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
To see a list of all available MemoServ commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP&lt;br /&gt;
&lt;br /&gt;
=== HostServ ===&lt;br /&gt;
HostServ allows users to request a virtual hostname. Normally we only allow IPs to be shown on a users&lt;br /&gt;
connection (so no dns lookups are made upon a new connection). To hide your host to other users you are&lt;br /&gt;
free to select a vhost from a predefined list (or a uniquely requested one) via hostserv. In that case&lt;br /&gt;
your selected hostname will be shown to others instead of your real IP.&lt;br /&gt;
&lt;br /&gt;
To see the list of all available commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg HostServ HELP&lt;br /&gt;
&lt;br /&gt;
Some commands of interest are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! IRC Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| OFFERLIST&lt;br /&gt;
| Lists all available vhosts.&lt;br /&gt;
|-&lt;br /&gt;
| TAKE&lt;br /&gt;
| Take an offered vhost for use.&lt;br /&gt;
|-&lt;br /&gt;
| REQUEST&lt;br /&gt;
| Requests new virtual hostname for current nick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For further help type &amp;lt;tt&amp;gt;'''/msg ''SERVICE'' help'''&amp;lt;/tt&amp;gt; (replace &amp;lt;tt&amp;gt;''SERVICE''&amp;lt;/tt&amp;gt; with the name of the service)&lt;br /&gt;
&lt;br /&gt;
== Other hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network !! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| irc.freenode.net&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Only for emergencies.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to get in there with ChatZilla ==&lt;br /&gt;
[[File:IRC-ChatZilla.jpg|thumb|ChatZilla Client area]]&lt;br /&gt;
When using ChatZilla, go to your Mozilla/Firefox browser and enter [irc://mpserver12.flightgear.org irc://mpserver12.flightgear.org]. When ChatZilla has connected to the host, click &amp;quot;IRC&amp;quot; and &amp;quot;Join channel...&amp;quot;. Pick the preferred channel.&lt;br /&gt;
&lt;br /&gt;
To get directly to the main channel with ChatZilla, you can also enter [irc://mpserver12.flightgear.org/flightgear irc://mpserver12.flightgear.org/flightgear] in your browser.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.ircbeginner.com/ General information about IRC]&lt;br /&gt;
* [http://www.ircbeginner.com/ircinfo/ircc-commands.html General IRC commands]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=139878</id>
		<title>FlightGear IRC channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=139878"/>
		<updated>2024-05-24T17:37:23Z</updated>

		<summary type="html">&lt;p&gt;Flughund: corrected spelling to match channel name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEFAULTSORT:IRC channel}}&lt;br /&gt;
The '''FlightGear IRC Network''' is an online system that will allow you to talk to a lot of people around the world and is related to everything about [[FlightGear]]. It's mostly used by developers, but it is also a good place to ask for help if you are having a question.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
It consists of localised servers that are all linked up to form a seamless chat network so if you are based in England you would connect to a nearby server in England and you would see exactly the same people as someone connecting to a server in the USA.&lt;br /&gt;
&lt;br /&gt;
To connect to the IRCnet network you first need a suitable client. You can also use [http://www.xchat.org/ XChat] (Linux and Windows), [http://sourceforge.net/projects/xchataqua/ X-Chat Aqua] (X Chat Mac),  [http://www.pidgin.im/ Pidgin], [http://colloquy.info/ Colloquy] (for Mac/iOS), [http://www.mirc.com/ mIRC], [https://Konversation.kde.org Konversation] or any other client.&lt;br /&gt;
&lt;br /&gt;
When you first login to the network you must pick yourself a unique nickname for the current chat session. Nicknames can be up to 31 characters in length and contain numbers and some punctuation characters. Some examples of nicknames you can use are:&lt;br /&gt;
&lt;br /&gt;
* Fred&lt;br /&gt;
* BIG_fred&lt;br /&gt;
* ^Fred^&lt;br /&gt;
* Fred-&lt;br /&gt;
* ^Fred&lt;br /&gt;
* fred007&lt;br /&gt;
&lt;br /&gt;
It doesn't matter about capital or lower case letters in the nickname since they are treated the same when people want to contact you and there are some weird and obscure rules about nicknames such as them not being able to begin with a &amp;quot;-&amp;quot; character. Most of these rules have no rhyme nor reason to them but we didn't write the software, we just have to try and tell people how to use it. Have an experiment and see what suits you best.&lt;br /&gt;
&lt;br /&gt;
Once you found your personal unique nickname you may want to register it with [[#Network_Services|NickServ]] (see below).&lt;br /&gt;
&lt;br /&gt;
== Official hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Host !! Location&lt;br /&gt;
|-&lt;br /&gt;
| de.irc.flightgear.org&lt;br /&gt;
| Germany&lt;br /&gt;
|-&lt;br /&gt;
| irc.flightgear.org&lt;br /&gt;
| currently an alias for de.irc.flightgear.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''port''' to connect to is 6667 (or 6659 for SSL) for each server.&lt;br /&gt;
&lt;br /&gt;
These servers are interconnected to form the FlightGear IRC network. Please choose the host closest to you geographically. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The FlightGear IRC network has several channels, some of which are listed below. To obtain a real list, use the IRC command &amp;quot;/list&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Use&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Main channel (English)&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-blender&lt;br /&gt;
| [[Blender]] &lt;br /&gt;
|-&lt;br /&gt;
| #flightgearFR&lt;br /&gt;
| FlightGear Channel for French Speaking &lt;br /&gt;
|-&lt;br /&gt;
|#flightgearIT&lt;br /&gt;
|FlightGear Channel for Italian Speaking&lt;br /&gt;
|-&lt;br /&gt;
| #flightgearNL&lt;br /&gt;
| FlightGear Channel for Dutch Speaking &lt;br /&gt;
|-&lt;br /&gt;
|#flightgearPL&lt;br /&gt;
|FlightGear Channel for Polish Speaking&lt;br /&gt;
|-&lt;br /&gt;
| #fg_school&lt;br /&gt;
| [[FlightGear Flight Academy|Flight School]] &lt;br /&gt;
|-&lt;br /&gt;
| #fgms&lt;br /&gt;
| [[fgms]] related stuff&lt;br /&gt;
|-&lt;br /&gt;
| #airliners&lt;br /&gt;
| IFR Navigation Squawk &lt;br /&gt;
|-&lt;br /&gt;
| #fg_cantene&lt;br /&gt;
| Off topic community &lt;br /&gt;
|-&lt;br /&gt;
| #fg-ru&lt;br /&gt;
| Russian Flightgear Community&lt;br /&gt;
|-&lt;br /&gt;
| #wiki&lt;br /&gt;
| Wiki &lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-forum&lt;br /&gt;
| Forum &lt;br /&gt;
|-&lt;br /&gt;
| #help&lt;br /&gt;
| general help on IRC&lt;br /&gt;
|-&lt;br /&gt;
| #staffers&lt;br /&gt;
| Server Admins&lt;br /&gt;
|-&lt;br /&gt;
| #flyingclub&lt;br /&gt;
| [[FlightGear Flying Club]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Network Services ==&lt;br /&gt;
=== NickServ ===&lt;br /&gt;
NickServ allows you to &amp;quot;register&amp;quot; a nickname and prevent others from using it. The following commands allow for registration and maintenance of nicknames; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
Some of the common commands are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GROUP&lt;br /&gt;
| Adds a nickname to your account.&lt;br /&gt;
|-&lt;br /&gt;
| IDENTIFY&lt;br /&gt;
| Identifies to services for a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GHOST&lt;br /&gt;
| Reclaims use of a nickname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This service is intended to provide a way for IRC users to ensure their identity is not compromised. It is ''not'' intended to facilitate &amp;quot;stealing&amp;quot; of nicknames or other malicious actions.  Abuse of NickServ will result in, at minimum, loss of the abused nickname(s).&lt;br /&gt;
&lt;br /&gt;
=== ChanServ ===&lt;br /&gt;
ChanServ allows you to register and control various aspects of channels.  ChanServ can often prevent malicious users from &amp;quot;taking over&amp;quot; channels by limiting who is allowed channel operator privileges. Some available commands are listed below; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type:&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a channel.&lt;br /&gt;
|-&lt;br /&gt;
| RECOVER&lt;br /&gt;
| Regain control of your channel.&lt;br /&gt;
|-&lt;br /&gt;
| FLAGS&lt;br /&gt;
| Manipulates specific permissions on a channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MemoServ ===&lt;br /&gt;
MemoServ is a utility allowing IRC users to send short messages to other IRC users, whether they are online at the time or not.  Both the sender's nickname and the target nickname must be registered in order to send a memo.&lt;br /&gt;
&lt;br /&gt;
MemoServ's commands include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| READ&lt;br /&gt;
| Reads a memo.&lt;br /&gt;
|-&lt;br /&gt;
| SEND&lt;br /&gt;
| Sends a memo to a user.&lt;br /&gt;
|-&lt;br /&gt;
| SENDGROUP&lt;br /&gt;
| Sends a memo to all members on a group.&lt;br /&gt;
|-&lt;br /&gt;
| SENDOPS&lt;br /&gt;
| Sends a memo to all ops on a channel.&lt;br /&gt;
|-&lt;br /&gt;
| DELETE&lt;br /&gt;
| Deletes memos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For help on any of the above commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
To see a list of all available MemoServ commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP&lt;br /&gt;
&lt;br /&gt;
=== HostServ ===&lt;br /&gt;
HostServ allows users to request a virtual hostname. Normally we only allow IPs to be shown on a users&lt;br /&gt;
connection (so no dns lookups are made upon a new connection). To hide your host to other users you are&lt;br /&gt;
free to select a vhost from a predefined list (or a uniquely requested one) via hostserv. In that case&lt;br /&gt;
your selected hostname will be shown to others instead of your real IP.&lt;br /&gt;
&lt;br /&gt;
To see the list of all available commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg HostServ HELP&lt;br /&gt;
&lt;br /&gt;
Some commands of interest are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! IRC Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| OFFERLIST&lt;br /&gt;
| Lists all available vhosts.&lt;br /&gt;
|-&lt;br /&gt;
| TAKE&lt;br /&gt;
| Take an offered vhost for use.&lt;br /&gt;
|-&lt;br /&gt;
| REQUEST&lt;br /&gt;
| Requests new virtual hostname for current nick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For further help type &amp;lt;tt&amp;gt;'''/msg ''SERVICE'' help'''&amp;lt;/tt&amp;gt; (replace &amp;lt;tt&amp;gt;''SERVICE''&amp;lt;/tt&amp;gt; with the name of the service)&lt;br /&gt;
&lt;br /&gt;
== Other hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network !! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| irc.freenode.net&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Only for emergencies.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to get in there with ChatZilla ==&lt;br /&gt;
[[File:IRC-ChatZilla.jpg|thumb|ChatZilla Client area]]&lt;br /&gt;
When using ChatZilla, go to your Mozilla/Firefox browser and enter [irc://mpserver12.flightgear.org irc://mpserver12.flightgear.org]. When ChatZilla has connected to the host, click &amp;quot;IRC&amp;quot; and &amp;quot;Join channel...&amp;quot;. Pick the preferred channel.&lt;br /&gt;
&lt;br /&gt;
To get directly to the main channel with ChatZilla, you can also enter [irc://mpserver12.flightgear.org/flightgear irc://mpserver12.flightgear.org/flightgear] in your browser.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.ircbeginner.com/ General information about IRC]&lt;br /&gt;
* [http://www.ircbeginner.com/ircinfo/ircc-commands.html General IRC commands]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=AI_Traffic&amp;diff=138354</id>
		<title>AI Traffic</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=AI_Traffic&amp;diff=138354"/>
		<updated>2023-09-11T07:52:14Z</updated>

		<summary type="html">&lt;p&gt;Flughund: s/aircrafts/aircraft/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AI Navbar}}&lt;br /&gt;
&lt;br /&gt;
'''AI Traffic''' (Artificial Intelligence), '''AI-Traffic''', or '''Interactive Traffic''' was introduced with [[FlightGear]] version 0.9.5. The purpose of AI traffic is to automatically populate airports sceneries with animated aircraft models reflecting the actual daily movements at and between airports to enrich the flightgear experience and improve its realism. This page aims at providing the documentation needed to populate airports with AI traffic.&lt;br /&gt;
&lt;br /&gt;
In essence, the AI controlled traffic system is comprised of four elements: &lt;br /&gt;
# AI Aircraft models: Are part of the base package under &amp;lt;tt&amp;gt;$DATA/AI/Aircraft&amp;lt;/tt&amp;gt; and cannot be flown by end user like regular FDM models as they are dedicated and exclusive to AI systems. &lt;br /&gt;
# AI traffic schedules: Are part of the base package under &amp;lt;tt&amp;gt;$DATA/AI/Traffic&amp;lt;/tt&amp;gt; and define where and when AI aircraft should fly. Files are unique per Operator's ICAO and split in sub-folders using the ICAO Initial. For example, traffic for United Airlines is stored under &amp;lt;tt&amp;gt;[[$FG ROOT]]/AI/Traffic/U/UAL.xml&amp;lt;/tt&amp;gt; &lt;br /&gt;
# Groundnets: Are part of the scenery pack under &amp;lt;tt&amp;gt;[[terrasync]]/Airports&amp;lt;/tt&amp;gt; and contain the information required to guide AI aircraft on the ground from gates to runways and vice versa, at each individual airport (one per airport).  The parking stands defined in an airport groundnet can also be used as Starting Positions when flying an FDM aircraft. They are shown and can be selected in Flightgear's &amp;quot;Location&amp;quot; startup tab.&lt;br /&gt;
# Runway Use Configurations (RWYUSE): Are part of the scenery pack under &amp;lt;tt&amp;gt;[[terrasync]]/Airports&amp;lt;/tt&amp;gt; and condition which runway(s) are for AI take off and landings based on the time of the day and wind conditions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Traffic Schedules =&lt;br /&gt;
Traffic pattern describe the relationship between two separate entities: Aircraft and Flights.&lt;br /&gt;
&lt;br /&gt;
In real life, Flight Scheduling aims at maximizing the number of flights operated with the fleet of aircraft available, taking in account each aircraft’s initial location, the length of each flight, the required turnaround time at each airport and of course the routes operated. In practice an aircraft will fly different routes of different length on different day/time and not all aircraft will return to their home base the same day, especially in the case of long haul routes. The list of flights an aircraft will operate during a set period of time is the Aircraft Schedule.&lt;br /&gt;
AI aircraft provide some extra benefits: They do not need maintenance (or crew replacement) and so can be scheduled for use 24h00 per day; they are also never late nor cancelled hence they will perform 100% of their assigned flights on time.&lt;br /&gt;
&lt;br /&gt;
To minimize the amount of data handled, a frequency is attached to each flight as either daily or weekly; For example an aircraft based at EHAM can fly daily in the morning to EGLL (and back) but then to different destinations in the afternoon depending on the day of the week (LFPG on Monday, EDDF on Tuesday etc). In this scenario the EGLL flights are operated daily and the LFPG and EDDF ones, weekly as it will take another full week before they are operated again.&lt;br /&gt;
&lt;br /&gt;
Like in real life, the flights assigned to an aircraft must follow a logical routing sequence and the arrival city of one flight must be the departure city of the next (AI aircraft do not time travel no teleport). &lt;br /&gt;
Flightgear schedules are set for a full week and repeat indefinitely until the traffic file is updated. As a result, the routing sequence described above must be consistent with the schedule weekly reset: If the last flight in an aircraft schedule (Sunday night) take it to KSFO then the first flight in the schedule (Monday morning) must depart from KSFO.&lt;br /&gt;
From the above. The Home Base of an aircraft is always the departure city of its first flight in the schedule ie the airport it will be departing from for its first flight on Monday morning.&lt;br /&gt;
&lt;br /&gt;
It is recommended the traffic schedules follow as much as possible reality and so they should include turnaround time at each airport even if an AI aircraft does not require cleaning and refuelling.&lt;br /&gt;
 &lt;br /&gt;
To facilitate scheduling, a new database format was introduced in FlightGear 1.9.0 and flights are no longer directly and rigidly assigned to a specific aircraft (Unique registration). Instead, a more generic description of a fleet is given, along with a series of flights that need to be carried out. The routing is then taken care of by FlightGear itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== An example of a traffic file ==&lt;br /&gt;
&lt;br /&gt;
Below is a complete and working example of a Traffic Manager II file, as it can be used with FlightGear 1.9.0 and later:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;trafficlist&amp;gt;&lt;br /&gt;
    &amp;lt;aircraft&amp;gt;&lt;br /&gt;
        &amp;lt;model&amp;gt;Aircraft/MD11/Models/KLMmd11.xml&amp;lt;/model&amp;gt;&lt;br /&gt;
        &amp;lt;livery&amp;gt;KLM&amp;lt;/livery&amp;gt;&lt;br /&gt;
        &amp;lt;airline&amp;gt;KLM&amp;lt;/airline&amp;gt;&lt;br /&gt;
        &amp;lt;home-port&amp;gt;EHAM&amp;lt;/home-port&amp;gt;&lt;br /&gt;
        &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
        &amp;lt;actype&amp;gt;MD11/P&amp;lt;/actype&amp;gt;&lt;br /&gt;
        &amp;lt;offset&amp;gt;25&amp;lt;/offset&amp;gt;&lt;br /&gt;
        &amp;lt;radius&amp;gt;39&amp;lt;/radius&amp;gt;&lt;br /&gt;
        &amp;lt;flighttype&amp;gt;gate&amp;lt;/flighttype&amp;gt;&lt;br /&gt;
        &amp;lt;performance-class&amp;gt;jet_transport&amp;lt;/performance-class&amp;gt;&lt;br /&gt;
        &amp;lt;registration&amp;gt;PH-KCA&amp;lt;/registration&amp;gt;&lt;br /&gt;
        &amp;lt;heavy&amp;gt;true&amp;lt;/heavy&amp;gt;&lt;br /&gt;
    &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
    &amp;lt;aircraft&amp;gt;&lt;br /&gt;
        &amp;lt;model&amp;gt;Aircraft/MD11/Models/KLMmd11.xml&amp;lt;/model&amp;gt;&lt;br /&gt;
        &amp;lt;livery&amp;gt;KLM&amp;lt;/livery&amp;gt;&lt;br /&gt;
        &amp;lt;airline&amp;gt;KLM&amp;lt;/airline&amp;gt;&lt;br /&gt;
        &amp;lt;home-port&amp;gt;EHAM&amp;lt;/home-port&amp;gt;&lt;br /&gt;
        &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
        &amp;lt;actype&amp;gt;MD11/P&amp;lt;/actype&amp;gt;&lt;br /&gt;
        &amp;lt;offset&amp;gt;25&amp;lt;/offset&amp;gt;&lt;br /&gt;
        &amp;lt;radius&amp;gt;39&amp;lt;/radius&amp;gt;&lt;br /&gt;
        &amp;lt;flighttype&amp;gt;gate&amp;lt;/flighttype&amp;gt;&lt;br /&gt;
        &amp;lt;performance-class&amp;gt;jet_transport&amp;lt;/performance-class&amp;gt;&lt;br /&gt;
        &amp;lt;registration&amp;gt;PH-KCB&amp;lt;/registration&amp;gt;&lt;br /&gt;
        &amp;lt;heavy&amp;gt;true&amp;lt;/heavy&amp;gt;&lt;br /&gt;
    &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;flight&amp;gt;&lt;br /&gt;
        &amp;lt;callsign&amp;gt;KLM0765&amp;lt;/callsign&amp;gt;&lt;br /&gt;
        &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
        &amp;lt;fltrules&amp;gt;IFR&amp;lt;/fltrules&amp;gt;&lt;br /&gt;
        &amp;lt;departure&amp;gt;&lt;br /&gt;
            &amp;lt;port&amp;gt;EHAM&amp;lt;/port&amp;gt;&lt;br /&gt;
            &amp;lt;time&amp;gt;0/12:35:00&amp;lt;/time&amp;gt;&lt;br /&gt;
        &amp;lt;/departure&amp;gt;&lt;br /&gt;
        &amp;lt;cruise-alt&amp;gt;330&amp;lt;/cruise-alt&amp;gt;&lt;br /&gt;
        &amp;lt;arrival&amp;gt;&lt;br /&gt;
            &amp;lt;port&amp;gt;TNCM&amp;lt;/port&amp;gt;&lt;br /&gt;
            &amp;lt;time&amp;gt;0/21:15:00&amp;lt;/time&amp;gt;&lt;br /&gt;
        &amp;lt;/arrival&amp;gt;&lt;br /&gt;
        &amp;lt;repeat&amp;gt;WEEK&amp;lt;/repeat&amp;gt;&lt;br /&gt;
    &amp;lt;/flight&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
    &amp;lt;flight&amp;gt;&lt;br /&gt;
        &amp;lt;callsign&amp;gt;KLM0769&amp;lt;/callsign&amp;gt;&lt;br /&gt;
        &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
        &amp;lt;fltrules&amp;gt;IFR&amp;lt;/fltrules&amp;gt;&lt;br /&gt;
        &amp;lt;departure&amp;gt;&lt;br /&gt;
            &amp;lt;port&amp;gt;TNCM&amp;lt;/port&amp;gt;&lt;br /&gt;
            &amp;lt;time&amp;gt;3/01:25:00&amp;lt;/time&amp;gt;&lt;br /&gt;
        &amp;lt;/departure&amp;gt;&lt;br /&gt;
        &amp;lt;cruise-alt&amp;gt;330&amp;lt;/cruise-alt&amp;gt;&lt;br /&gt;
        &amp;lt;arrival&amp;gt;&lt;br /&gt;
            &amp;lt;port&amp;gt;EHAM&amp;lt;/port&amp;gt;&lt;br /&gt;
            &amp;lt;time&amp;gt;3/10:50:00&amp;lt;/time&amp;gt;&lt;br /&gt;
        &amp;lt;/arrival&amp;gt;&lt;br /&gt;
        &amp;lt;repeat&amp;gt;WEEK&amp;lt;/repeat&amp;gt;&lt;br /&gt;
    &amp;lt;/flight&amp;gt;&lt;br /&gt;
 &amp;lt;/trafficlist&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dissecting the traffic file ==&lt;br /&gt;
Here I will discuss the general structure of a traffic file in more detail. As discussed, the traffic patterns are centered around aircraft and flights. Therefore, a minimal traffic file will consist of two sections: the aircraft definition and the flights section. In the next two sections, I will discuss each of these sections.&lt;br /&gt;
&lt;br /&gt;
=== General layout ===&lt;br /&gt;
The general layout of each file should look like the above example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;trafficlist&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 &amp;lt;/trafficlist&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The general layout of each file should look like the above example. The first line contains a generic xml header, which is followed on the second line with a '''&amp;lt;trafficlist&amp;gt;''' statement. Also, the last line in the file should close off the trafficlist section using the '''&amp;lt;/trafficlist&amp;gt;''' statement. As will be illustrated below, between these two statements can be one or more aircraft definitions.&lt;br /&gt;
&lt;br /&gt;
=== Defining the aircraft ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;trafficlist&amp;gt;&lt;br /&gt;
     &amp;lt;aircraft&amp;gt;&lt;br /&gt;
         &amp;lt;model&amp;gt;Aircraft/MD11/Models/KLMmd11.xml&amp;lt;/model&amp;gt;&lt;br /&gt;
         &amp;lt;livery&amp;gt;KLM&amp;lt;/livery&amp;gt;&lt;br /&gt;
         &amp;lt;airline&amp;gt;KLM&amp;lt;/airline&amp;gt;&lt;br /&gt;
         &amp;lt;home-port&amp;gt;EHAM&amp;lt;/home-port&amp;gt;&lt;br /&gt;
         &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
         &amp;lt;actype&amp;gt;MD11/P&amp;lt;/actype&amp;gt;&lt;br /&gt;
         &amp;lt;offset&amp;gt;25&amp;lt;/offset&amp;gt;&lt;br /&gt;
         &amp;lt;radius&amp;gt;39&amp;lt;/radius&amp;gt;&lt;br /&gt;
         &amp;lt;flighttype&amp;gt;gate&amp;lt;/flighttype&amp;gt;&lt;br /&gt;
         &amp;lt;performance-class&amp;gt;jet_transport&amp;lt;/performance-class&amp;gt;&lt;br /&gt;
         &amp;lt;registration&amp;gt;PH-KCA&amp;lt;/registration&amp;gt;&lt;br /&gt;
         &amp;lt;heavy&amp;gt;true&amp;lt;/heavy&amp;gt;&lt;br /&gt;
     &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
     &amp;lt;aircraft&amp;gt;&lt;br /&gt;
     ...&lt;br /&gt;
     &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
 &amp;lt;/trafficlist&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The first lines inside the '''&amp;lt;aircraft&amp;gt;''' definition specify some of the aircraft's performance characteristics.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;model&amp;gt;''' Here is a path specified to the 3D model that should be used in FlightGear.&lt;br /&gt;
* '''&amp;lt;livery&amp;gt;''' This line is currently unused, and will likely remain unused. The original idea was to combine this with the '''&amp;lt;model&amp;gt;''' line (see above) to load a specific combination of aircraft type ('''&amp;lt;actype&amp;gt;''') and paint scheme, but I abandoned that idea, because it didn't turn out to be very compatible with the existing FlightGear model loading code. &lt;br /&gt;
* '''&amp;lt;airline&amp;gt;''' This line refers to the airline operating the aircraft. This information is currently used by FlightGear to handle gate/parking assignments. Use the official 3-letter [[ICAO]] airline code here, in case of commercial traffic. This keyword is unlikely to be used for general aviation and military traffic. &lt;br /&gt;
* '''&amp;lt;home-port&amp;gt;''' Each FlightGear aircraft is assigned to a home airport. Internally, this is used to ensure that routes are setup that will eventually lead back to the home airport. This is done to maintain some sensibility in the routing algorithm. '''[New for Traffic Manager II]'''&lt;br /&gt;
* '''&amp;lt;required-aircraft&amp;gt;''' This value is a key that binds aircraft and flights together. In case of this example, the key MD11KLM. Indicates that this aircraft will only carry out flights containing the same key. Usually, a combination of aircraft type, and airline will suffice for this key. In some cases, in particular, when specific aircraft / airlines are distributed across multiple hubs (i.e. home ports), it may be necessary to specify a key containing the home airport as well. For example, Delta Airlines operates 767's out of Atlanta, as well as out of New York. To separate between these two cases, it would be advisable to use two keys; one for KATL (e.g. 767DALKATL), and one for KJFK (e.g., 767DALKJFK). '''[NEW for Traffic Manager II]'''&lt;br /&gt;
* '''&amp;lt;actype&amp;gt;''' A description of the aircraft type reserved for future use in [[ATC]].&lt;br /&gt;
* '''&amp;lt;offset&amp;gt;''' Ground offset of the 3D model. Not all aircraft 3D models are built using the same convention. Use this parameter to align the wheels with the ground. Notice that this parameter will probably become obsolete in the near future, because model view point references can also be done in the XML file that the '''&amp;lt;model&amp;gt;''' keyword refers to.&lt;br /&gt;
* '''&amp;lt;radius&amp;gt;''' An estimate of the aircraft's size. This is mainly used at airports for gate assignments.&lt;br /&gt;
* '''&amp;lt;flighttype&amp;gt;''' In the near future, this keyword will be used for runway assignments, so that general aviation, commercial, and military traffic will use different runways if that is part of the airport's operational procedures. This line is also used for gate assignments and should be one of the following:&lt;br /&gt;
** '''ga''' (general aviation), &lt;br /&gt;
** '''cargo''' (cargo)&lt;br /&gt;
** '''gate''' (commercial passenger traffic) &lt;br /&gt;
** '''mil-fighter''' (military fighter)&lt;br /&gt;
** '''mil-cargo''' (military transport)&lt;br /&gt;
* '''&amp;lt;performance-class&amp;gt;''' This line is used to determine the performance characteristics of AI aircraft. This should match one of the performance classes that are predefined in FlightGear. Currently, the following performance classes are supported:&lt;br /&gt;
** '''light_aircraft''' (General aviation prop driven single or twin),&lt;br /&gt;
** '''turboprop_transport''' (Commercial Turboprop),&lt;br /&gt;
** '''jet_transport''' (Commercial jet)&lt;br /&gt;
** '''heavy_jet''' (Commercial jet w/ MTOW &amp;gt; 136tons)&lt;br /&gt;
** '''ww2_fighter''' (world war two fighter),&lt;br /&gt;
** '''jet_fighter''' (modern fighter aircraft)&lt;br /&gt;
** '''tanker''' (tanker aircraft), or.&lt;br /&gt;
** '''ufo''' (allows extreme accel/decel capabilities).&lt;br /&gt;
* '''&amp;lt;registration&amp;gt;''' The aircraft's tail number. Future versions of FlightGear will use this registration in ATC for general aviation traffic. For commercial traffic the registration number will likely remain unused.&lt;br /&gt;
* '''&amp;lt;heavy&amp;gt;''' Can be true or false. Reserved for future use by ATC, to determine whether the postfix &amp;quot;Heavy&amp;quot; should be appended to the aircraft's callsign.&lt;br /&gt;
&lt;br /&gt;
=== Defining a flight ===&lt;br /&gt;
The Traffic Manager II file formats contains separate sections for both aircraft and flights information, with the common denominator being a shared key that links aircraft and flight information together. In other words, the general layout of a Traffic Manager II file looks something like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;aircraft&amp;gt; &lt;br /&gt;
     ...&lt;br /&gt;
     &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
     ...&lt;br /&gt;
 &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;flight&amp;gt;&lt;br /&gt;
     ...&lt;br /&gt;
     &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
     ...&lt;br /&gt;
 &amp;lt;/flight&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Each flight is defined between the '''&amp;lt;flight&amp;gt;''' and '''&amp;lt;/flight&amp;gt;''' statements. For example, let's have a look at a randomly selected flight from our KLM.xml example. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;flight&amp;gt;&lt;br /&gt;
     &amp;lt;callsign&amp;gt;KLM0769&amp;lt;/callsign&amp;gt;&lt;br /&gt;
     &amp;lt;required-aircraft&amp;gt;MD11KLM&amp;lt;/required-aircraft&amp;gt;&lt;br /&gt;
     &amp;lt;fltrules&amp;gt;IFR&amp;lt;/fltrules&amp;gt;&lt;br /&gt;
     &amp;lt;departure&amp;gt;&lt;br /&gt;
         &amp;lt;port&amp;gt;EHAM&amp;lt;/port&amp;gt;&lt;br /&gt;
         &amp;lt;time&amp;gt;2/12:35:00&amp;lt;/time&amp;gt;&lt;br /&gt;
     &amp;lt;/departure&amp;gt;&lt;br /&gt;
     &amp;lt;cruise-alt&amp;gt;330&amp;lt;/cruise-alt&amp;gt;&lt;br /&gt;
     &amp;lt;arrival&amp;gt;&lt;br /&gt;
         &amp;lt;port&amp;gt;TNCB&amp;lt;/port&amp;gt;&lt;br /&gt;
         &amp;lt;time&amp;gt;2/22:15:00&amp;lt;/time&amp;gt;&lt;br /&gt;
     &amp;lt;/arrival&amp;gt;&lt;br /&gt;
     &amp;lt;repeat&amp;gt;WEEK&amp;lt;/repeat&amp;gt;&lt;br /&gt;
 &amp;lt;/flight&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The '''&amp;lt;flight&amp;gt;''' section is slightly more complex than the aircraft definition itself, because it has a few nested levels, however, these should mostly be self-explanatory. The following keywords should be specified:&lt;br /&gt;
* '''&amp;lt;flight&amp;gt;''' All the relevant parameter should be specified between the '''&amp;lt;flight&amp;gt;&amp;lt;/flight&amp;gt;''' keywords.&lt;br /&gt;
* '''&amp;lt;callsign&amp;gt;''' The airline callsign used for ATC. If this is an airline flight it should be combination of the airline callsign (e.g. '''KLM''' for KLM, or '''Springbok''' for South African Airways), and the flight number (e.g. '''KLM0605''', or '''Springbok0033''').&lt;br /&gt;
* '''&amp;lt;required-aircraft&amp;gt;''' The key that links this flight to a particular aircraft. The see explanation in the ''aircraft'' section. &lt;br /&gt;
* '''&amp;lt;fltrules&amp;gt;''' Can be ''IFR'' or ''VFR''. This is required for use in ATC, but currently not used. This is likely to change, however.&lt;br /&gt;
* '''&amp;lt;departure&amp;gt;''' Definition of the departure airport. This section should contain the '''&amp;lt;port&amp;gt;''' and '''&amp;lt;nowiki&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/nowiki&amp;gt;''' keywords.&lt;br /&gt;
* '''&amp;lt;cruise-alt&amp;gt;''' Cruising altitude for this flight. This is a bit of a simplification from the real world, where aircraft usually don't stay at the same cruise altitude throughout the flight. This behavior will probably also change in future versions. Values are in [https://en.wikipedia.org/wiki/Flight_level flightlevels]&lt;br /&gt;
* '''&amp;lt;arrival&amp;gt;''' Same as '''&amp;lt;departure&amp;gt;''', but now defining the '''&amp;lt;port&amp;gt;''' and '''&amp;lt;nowiki&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/nowiki&amp;gt;''' of arrival.&lt;br /&gt;
* '''&amp;lt;repeat&amp;gt;''' Repeat period. This can be either the keyword ''WEEK'', or a number followed by ''Hr''. ''WEEK'' means that the whole schedule repeats itself on a weekly basis. ''Hr'' means that the whole schedule repeats after the number of hours specified directly before it (e.g. ''24Hr'' means that the schedule repeats after 24 hours). With Traffic Manager II, it is generally recommended not to mix schedules that rotate on different frequencies. In general, the best results are obtained when using only weekly rotating flights. For flights that are in reality operated on a daily basis, it is recommended to just specify multiple entries, i.e. one separate flight for every weekday.&lt;br /&gt;
* '''&amp;lt;port&amp;gt;''' This should be the international ICAO airport code. This keyword should be specified only within the '''&amp;lt;departure&amp;gt;''' or '''&amp;lt;arrival&amp;gt;''' sections. As far as I know, here it should still be in upper case, although the FlightGear command line currently also supports lower case ICAO codes. &lt;br /&gt;
* '''&amp;lt;nowiki&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/nowiki&amp;gt;''' Used to specify the '''&amp;lt;departure&amp;gt;''' or '''&amp;lt;arrival&amp;gt;''' time. The format of this string is ''hour:minute:second''. Notice that departure day is optional and is specifically intended to be used in combination with a weekly repeating schedule. When used in combination with other schedules, results may be unpredictable. Times should be in UTC. Weekdays start on Sunday (0) and end on Saturday (6).&lt;br /&gt;
&lt;br /&gt;
== Putting it all together: Including a traffic file ==&lt;br /&gt;
Traffic files are found under [[$FG_ROOT]]/AI/Traffic. The actual traffic files should be stored in a subdirectory one level below /AI/Traffic.&lt;br /&gt;
All traffic is organized by Operator ICAO code, and stored in a single letter directory. For example, KLM traffic can be found in [[$FG_ROOT]]/AI/Traffic/K/KLM.xml, and United Airlines traffic is stored in [[$FG_ROOT]]/AI/Traffic/U/UAL.xml.&lt;br /&gt;
&lt;br /&gt;
The name of the file is the ICAO of the operator (aircraft owner) which is normally the same that the one found in the &amp;lt;airline&amp;gt; tag in the file itself but not alway. For example Compass Airlines in Minneapolis, has the ICAO code CPZ but operates flights for both American Airlines (AAL) and Delta Airlines (DAL). In this scenario the traffic file will be stored as [[$FG_ROOT]]/AI/Traffic/C/CPZ.xml and will contain a series of aircraft with airlines tags AAL and another series with tag DAL. Similarly, certain flights in the file will be numbered AAxxxx or DLxxxx.&lt;br /&gt;
&lt;br /&gt;
= Ground networks =&lt;br /&gt;
&lt;br /&gt;
[[File:LFPG T2E ParkPos.jpg|thumb|Using a Groundnet, AI aircraft can park precisely at the Terminal gates]]&lt;br /&gt;
&lt;br /&gt;
Using the traffic files information above, the AI Traffic Manager knows which AI aircraft should land at (and take off from) each airport and when. It will automatically place the relevant aircraft models in the scenery and animate them so they navigate from the runways to the gates and vice versa, according to their individual schedule.&lt;br /&gt;
&lt;br /&gt;
Although the physical layout of each airport is stored in FlightGear's APT.DAT master file, the information is not accurate enough to determine which specific routes AI models can use; Instead, Traffic manager will rely on a dedicated file containing a simple wireframe/network of taxiways and gates AI aircraft can follow whilst on the ground ie a GroundNet. A groundnet is made of 3 different elements: Parking Positions, Nodes and Segments (to join nodes and Parking together). &lt;br /&gt;
&lt;br /&gt;
This routing information is aggregated, per airport, in a XML, stored and distributed by Terrasync as '''/Terrasync/Airports/[I]/[C]/[A]/[ICAO].groundnet.xml''' where ICAO stands for the 4 letter ICAO code of the relevant airport.&lt;br /&gt;
&lt;br /&gt;
Similarly to Terrain and Objects, Terrasync groundnets can be overridden by placing a personalized version in your custom scenery folder, using the same path structure: /Custom Scenery/Airports/[I]/[C]/[A]/[ICAO].groundnet.xml.&lt;br /&gt;
&lt;br /&gt;
Groundnets are not mandatory but, in absence of this routing information, AI Aircraft cannot park anywhere; they will still try to stick to their schedule, appearing magically at the centre of the airport and taxiing directly to the runways’ thresholds, over grass, buildings and static objects, on time.&lt;br /&gt;
&lt;br /&gt;
Groundnets rely on the runway threshold information stored in /Terrasync/Airports/[I]/[C]/[A]/[ICAO].threshold.xml to determine where runways are (the space between each pair of thresholds in the file) and their heading. This data is used to determine an aircraft has reached the runway and can initiate take off. Similarly it is used to select where an arriving AI aircraft can touch down and start braking. &lt;br /&gt;
&lt;br /&gt;
== A technical perspective ==&lt;br /&gt;
A ground network xml file consists of four tables:&lt;br /&gt;
* '''&amp;lt;frequencies&amp;gt;''' The Airport’s radio frequencies (Optional). As of v1.9.0, FlightGear uses these to display some ATC messages like start-up approval requests. You can &amp;quot;hear&amp;quot; them by tuning to the first ground frequency listed in the section.&lt;br /&gt;
* '''&amp;lt;parkingList&amp;gt;''' The details of each parking/gate at the airport and the characteristics of which AI aircraft can use them.&lt;br /&gt;
* '''&amp;lt;TaxiNodes&amp;gt;''' The list of all the nodes in the ground network.&lt;br /&gt;
* '''&amp;lt;TaxiWaySegments&amp;gt;''' A list of all links/segments (or &amp;quot;arcs&amp;quot; as David Luff called them initially) existing between all nodes and Parking Positions.&lt;br /&gt;
&lt;br /&gt;
Each Parking and Node element in the groundnet has a unique index number, allowing routes be formed (from one ID to the next via a segment/arc) between parking positions and runways &lt;br /&gt;
&lt;br /&gt;
''Parking Positions Parameters:''&lt;br /&gt;
* '''index''' Unique ID, internal to the file structure&lt;br /&gt;
* '''lat''' latitude in decimal minutes format, for example &amp;lt;code&amp;gt;N50 56.988&amp;lt;/code&amp;gt;)&lt;br /&gt;
* '''lon''' longitude in decimal minutes format, for example &amp;lt;code&amp;gt;W01 21.756&amp;lt;/code&amp;gt;)&lt;br /&gt;
* '''name &amp;amp; number ''' (gate identification as found on airport charts, for example &amp;lt;code&amp;gt;D23&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;C1&amp;lt;/code&amp;gt;). &lt;br /&gt;
* '''type:''' The type of aircraft which can use this space. Matched to the &amp;lt;flighttype&amp;gt; parameter found in traffic files:&lt;br /&gt;
** '''ga''' (general aviation), &lt;br /&gt;
** '''cargo''' (cargo/freighter)&lt;br /&gt;
** '''gate''' (commercial passenger traffic) &lt;br /&gt;
** '''mil-fighter''' (military fighter)&lt;br /&gt;
** '''mil-cargo''' (military transport)&lt;br /&gt;
* '''heading:''' The heading at which the aircraft parks in this space.&lt;br /&gt;
* '''radius:''' The size of the parking spot. Matched to the aircraft &amp;lt;radius&amp;gt; parameter in traffic files to determine if a given AI Aircraft model will fit the position. See [[aircraft radii]]&lt;br /&gt;
* '''airlineCodes:''' a comma-separated list of ICAO airline codes allowed to park at this gate. Matched to the aircraft  &amp;lt;airline&amp;gt; parameter of traffic files. Leave blank for all airline to be able to use the gate.&lt;br /&gt;
* '''pushBackRoute:''' The ID of the next node in the network along a pushback route. In a correctly configured network, the AI aircraft will taxi to this node in reverse, thus simulating being pushed back. See the documentation for the PushBack hold point type below.&lt;br /&gt;
&lt;br /&gt;
''Nodes parameters:''&lt;br /&gt;
&lt;br /&gt;
* '''isOnRunway'''' A logical value that is 1 when the node is on the runway, 0 otherwise. Aircraft waiting to take off will line up behind the last node marked “not on runway” (“0”) until the runway is clear&lt;br /&gt;
* '''holdPointType''' can have the following values:&lt;br /&gt;
** '''None''' Not a holding point (normal taxi-through node) &lt;br /&gt;
** '''PushBack''' The node marks the end of a pushback route, where the aircraft stops rolling backward and start rolling forward upon clearance. A pushback Holding Point can be part of more than one pushback route. See Pushback below. &lt;br /&gt;
** '''Normal''' (Not yet supported): a regular taxiway holding point.&lt;br /&gt;
** '''CAT II/III''' (Not yet supported): a special holding point for IFR conditions.&lt;br /&gt;
&lt;br /&gt;
''segments parameters:''&lt;br /&gt;
&lt;br /&gt;
* '''begin''' The id of the parking space or AINode where this segment starts&lt;br /&gt;
* '''end''' The id of the parking space or AINode where this segment ends&lt;br /&gt;
* '''IsPushBackRoute''' a logical value. Should be 1 if the current segment is part of a route connecting a gate to a push back hold point, or 0 otherwise.&lt;br /&gt;
* '''name''' Name of the taxiway.&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Source Material ==&lt;br /&gt;
Groundnets can be built using either FG Airports (v0.032 or later) or Taxidraw (legacy) &lt;br /&gt;
&lt;br /&gt;
[[FGAirports]] is the current tool of choice. Its philosophy is airport centered rather than file specific and allows you to visualize at a glance all of the existing groundnets as well as editing them and submitting them to Terrasync. It leverages Open Street Map data, APT.DAT and scenery xmls to provide a visual representation of the airport layout as well as thresholds and tower positions. &lt;br /&gt;
&lt;br /&gt;
FGA automatically checks the validity of groundnet files before submission and assess their adequacy by comparing the number of gates set against the volume of AI traffic at a particular airport.&lt;br /&gt;
&lt;br /&gt;
[[TaxiDraw]] pre dates WED and allowed the creation of airport layouts from basic geometrical shapes. Its ground network module is somewhat separate from the rest of the airport project code but allows the creation and local export of simple groundnets.&lt;br /&gt;
&lt;br /&gt;
See the [[TaxiDraw]] and [[FGAirports]] articles for instructions on how to obtain the tools and operating instructions.&lt;br /&gt;
&lt;br /&gt;
Most Civil Aviation authorities make electronic versions of their Aeronautical Information Publication available on the web (Lookup 'eAIP' or go to https://www.eurocontrol.int/articles/ais-online). AIPs contain precise Airport Charts but also lists of parking stands with their exact Latitude/Longitude as well as usage (Cargo, Gate) and the category (radii) of aircraft they can accommodate.&lt;br /&gt;
 &lt;br /&gt;
Gates Numbers and Airlines operating them can often be found on Airports website. Most flight tracking sites/apps will also allow you to monitor a flight all to the way to its gate to identify who parks where.&lt;br /&gt;
&lt;br /&gt;
In essence, all the information you need can be compiled from multiple sources, including Wikipedia, airport diagrams published on the net, in flight airline magazines, etc. etc. In other words, be creative!&lt;br /&gt;
&lt;br /&gt;
== Ground traffic rendering ==&lt;br /&gt;
''19th November 2021.''&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* CPU: Currently having a lot of nodes in the OSG scene-graph will rapidly make FlightGear CPU bound. A lot of separately animated ground traffic objects mean a lot of nodes. Static objects (i.e. non-animated objects) can be put into one mesh - meaning one scenegraph node with the current system.&lt;br /&gt;
* GPU: Having fewer draw calls is fast. Having fewer state changes is fast. &lt;br /&gt;
* The fast path for both CPU and GPU is creating a way to combine multiple animated objects in one mesh - this is how modern 3d applications do lots of objects with animations fast.&lt;br /&gt;
&lt;br /&gt;
=== The fast way to do moving objects is to let the vertex shader look at information in buffers and position each object ===&lt;br /&gt;
&lt;br /&gt;
* Have all the different path segments stored in one buffer that can be read by the vertex shader. This buffer can be generated at runtime for each airport, maybe using NASAL scripts, and not updated.It's also possible to store the 1st buffer in TerraSync. &lt;br /&gt;
* Have a second buffer store all per-object data in an array. The array is indexed by the object ID. This includes things like vehicle animation state, which path segment each object is on, the starting time, and a speed scaling factor. The second buffer is updated regularly by the CPU.&lt;br /&gt;
* Two approaches to packing different types of objects in a 1 or few meshes &lt;br /&gt;
**'''a).''' Every type of object is combined in one vertex buffer and rendered with the same shaders, texture atlas or array. Every vehicle is packed one after the other in the vertex buffers. Multiple types of vehicles are contained in the same mesh. Multiple instances of the same vehicle take up extra space. &lt;br /&gt;
*** All material parameters or uniform values that change between objects, or within objects, like specularity are added as vertex attributes or textures. A vertex shader that can handle all object animations is used. &lt;br /&gt;
*** The entire set of objects takes up one scene graph node, and is rendered in one draw call. It's possible to do ground vehicles and AI aircraft as two meshes.&lt;br /&gt;
*** The object ID (an integer) can be added to each vertex as an vertex attribute. This is used to lookup per-object info in the 2nd buffer, including the paths from the first buffer.&lt;br /&gt;
** '''b).''' Each different type of object (different ground vehicle) is instanced and takes up one scene-graph node. This can allow different shaders and textures per object type. There is less vertex data taking up RAM and VRAM. There are more scenegraph nodes, and draw calls.&lt;br /&gt;
*** The object ID (an integer) can be added as a per-instance vertex attribute.&lt;br /&gt;
* The vertex shader can trivially look at the object ID, then find the path segment, the starting time, speed scaling factor, and current time to position each object. If the current time is past the end of the current path, the object will stay at the end position.&lt;br /&gt;
* The buffers can be a uniform array (minimum of points in each path segment and more smoothing), Uniform Buffer Object (UBO - not available until Vulkan due to Macs not supporting it), a Texture Buffer Object (TBO - Mac support unknown), or a texture looked up in a vertex shader (maybe slower).&lt;br /&gt;
* Data format: Each path segment is x,y,z position at regular times - a time-series of positions - e.g. [10m, 20m, 0m elevation] at t = 1s. [20m, 25m, 0m] at t=2s . [30m, 30m, 0m] at t= 3s. 16 bit integers are enough, but 32 but floats can also be used at the cost of 2x the occupancy. 16 bit implementation: If a texture is used it can be 16bit RGB - R=x, G=y, B=z.  2 consecutive 8 bit values can also be read from a texture.16 bit integers can cover an ground traffic area of ~65km with a spacing of 1m. 16bits can give a ~13km ground traffic area with an accuracy of 20cm. The accuracy of the positions doesn't matter too much - the vertex shader can look at 2-3+ path positions and create a smooth interpolation (a smooth curve joining the points). The time steps can also be large. &lt;br /&gt;
* If a path has a slowly moving segment, it will take up more points. If a path segment takes a short amount of time, it can have a special xyz numner to indicate path has ended - otherwise the path start/end time information can be stored as uniforms or in a UBO. Vehicles that move faster can have a higher speed scaling. There can be different path segment variations, for example if vehicles have a different acceleration pattern - e.g. speeding up and braking hard, or sharper turns, in an emergency.&lt;br /&gt;
* Both ground vehicles, and taxiing aircraft can be done this way. It's possible to replace a conventional AI aircraft model, with a fast rendering ground traffic model once an aircraft starts taxiing.&lt;br /&gt;
* If models use animations, they should ideally use a vertex shader that can handle all these animations - so having multiple draw calls per model and CPU-side animation is avoided.&lt;br /&gt;
* It's possible to split of different parts of craft into separate meshes for parts that are very dissimilar - at the cost of more scenegraph nodes and draw calls. For example, a separate mesh for lights of various types - these lights will follow the same paths as the vechiles and position themselves correctly.&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The way animation is handled (animation meaning moving objects, and parts of moving objects) in modern 3d application is to store the animation data in arrays/buffers on the GPU side and render multiple objects in one draw call.&lt;br /&gt;
&lt;br /&gt;
From a quick google search - a 2010 blog about whether UBOs or TBOs are more suited for different tasks:&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;Personally I use them [UBOs] for instanced rendering by storing the model-view matrix and related information of each and every instance in a common uniform buffer and use the instance id as an index to this combined data structure. This usage performs very well on my system.''&lt;br /&gt;
&lt;br /&gt;
''Also uniform buffers can be used to store the matrices of bones and use them for implementing skeletal animation, however, I personally prefer using normal 2D textures for this purpose to take advantage of the free interpolation thanks to the dedicated texture fetching units but that’s another story.''&lt;br /&gt;
&lt;br /&gt;
''[..] Personally I use texture buffers for different geometry deformation techniques, to resolve batching issues when the size limitation of uniform buffers is a blocking factor, and for some inverse kinematics effects.&amp;quot; - Rastergrid blog, 2010 [https://www.rastergrid.com/blog/2010/01/uniform-buffers-vs-texture-buffers/][https://web.archive.org/web/20211119134448/https://www.rastergrid.com/blog/2010/01/uniform-buffers-vs-texture-buffers/]''&lt;br /&gt;
&lt;br /&gt;
This is from a 2010 blog - this general approach has been the way to do lots of animated objects for a long time. &lt;br /&gt;
&lt;br /&gt;
Even really complicated animations like moving bodies and cloth physics are handled by moving animation data into buffers - this approach would be needed if FlightGear ever did a simulation of crowds at an airport - not just for boarding one plane which probably won't be too cripplingly slow. But for crowds boarding lots of planes, and moving about large airports. For animating humans, there are will be standard animation formats compatible with output of tools in blender or make human[http://www.makehumancommunity.org/]. This approach may also be worth while for rendering lots of seated passengers with really simple movements - and a few walking about with a simple walk cycle. It may also be justified for large amounts of ground personnel at big airports (not just a few relevant for the users plane).&lt;br /&gt;
&lt;br /&gt;
== Warnings and Limitations ==&lt;br /&gt;
The complexity of building a fully functional groundnet (and the time spent on it) grows exponentially with the size of the airport but very small airports, on Pacific Islands for example, pose even larger challenges. An ideal project to start with is a Metropolitan airport with one or two runways, and two dozen of parking positions. &lt;br /&gt;
&lt;br /&gt;
FG Scenery and Traffic manager have their limitations and dependencies which create specific challenges of their own. For example:&lt;br /&gt;
[[File:AI Traffic at KJFK former Terminal 3.jpg|300px|thumb|AI Traffic sitting on top of KJFK former Terminal 3]]&lt;br /&gt;
* TM does not space landing aircraft. You will most likely see packs of landing aircraft hitting your runways at once, sometimes from both ends. Departures are spaced properly though &lt;br /&gt;
* TM does not yet use Regular/Cat III Holding points data and so you cannot force an AI aircraft to pause/hold on a route. &lt;br /&gt;
* TM does not support the conditional use of gates (Do not use A if B is occupied); Always assume all the Parking position you set will be occupied. &lt;br /&gt;
* AI Aircraft cannot &amp;quot;pivot&amp;quot; on their parking positions. The last segment on a route leading to or exiting a parking position must have the same heading than the parking position itself (Park Straight) &lt;br /&gt;
&lt;br /&gt;
* Groundnets, terrain and scenery objects are independent. If you see your AI aircraft rolling on grass or sitting on buildings and for as long as your groundnet lat.lon data is correct, consider that the airport terrain/layout may be outdated or misplaced. Similarly, Building/Object may have been placed at certain Lat/Lon but since demolished (example of JFK Terminal 3 on the right) to make space for a new taxiway as airports expand and change layout regularly.&lt;br /&gt;
&lt;br /&gt;
Make sure you have verified the data in your ICAO.threshold.xml before starting building your groundnet. If the data is incorrect, locate the correct one on the web and post a request for adjustment in the FlightGear AI forum with a link to the correct data source.&lt;br /&gt;
&lt;br /&gt;
Your candidate groundnet will need to be tested thoroughly by running it in FG, at different time of the day as wind conditions and traffic patterns will impact which runways are used and how many AI aircraft are handled. &lt;br /&gt;
You should have log/debug enabled as traffic manager will create :ai entries, allowing easier troubleshooting.&lt;br /&gt;
&lt;br /&gt;
On the bright side, both Taxidraw and FG Airports contain a validation tool which will allow you to detect any structural problem with your groundnet. You will also find a lot of resources and tips in the AI section of the Flightgear forums.&lt;br /&gt;
&lt;br /&gt;
Finally, the approach to creating a groudnet is described below as three separate phases, each one including its own specific testing which will hopefully simplify your journey.&lt;br /&gt;
[[File:Gate Definition in FG Airports.png|300px|thumb|FG Airports UI for Parking Position]]&lt;br /&gt;
== Creating the base network == &lt;br /&gt;
&lt;br /&gt;
Objective:&lt;br /&gt;
* You have enough gates for all AI aircraft using the airport&lt;br /&gt;
* Each gate has a valid incoming and outgoing link (route) to the rest of the groundnet&lt;br /&gt;
* Each Runway(s) threshold has a unique link to the rest of the groundnet&lt;br /&gt;
* Departing Aircraft can reach any threshold, from any parking position &lt;br /&gt;
* Arriving Aircraft can reach any suitable parking position from any threshold&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Step 1 : Place and configure the Parking Positions'''&lt;br /&gt;
&lt;br /&gt;
Place a parking position at each location an aircraft is allowed to park. Use your AIP Lat/Lon data and/or the FGA OSM background for extra precision.&lt;br /&gt;
[[File:Extend Route passed Displaced THR.png|thumb|Example of route ended after a displaced Threshold]] &lt;br /&gt;
AI Aircraft will be positioned so their centre of rotation (main gear and/or X=0 in .ac model file) sits at the Lat/Lon defined for the parking position.&lt;br /&gt;
&lt;br /&gt;
Set a type for each off your gates: GATE if the stand is used by commercial traffic or CARGO if used by freighters. &lt;br /&gt;
Military and General Aviation can also be used if you are running personalized traffic files on your machine.&lt;br /&gt;
&lt;br /&gt;
Adjust the heading and radius for each of your gates according to the maximum wingspan the stand can accommodate. See [[aircraft radii]]. &lt;br /&gt;
Set a unique name for the gate.&lt;br /&gt;
Leave the AIRLINE field empty at this point.&lt;br /&gt;
&lt;br /&gt;
'''Step 2 : Place and configure the Runway accesses'''&lt;br /&gt;
&lt;br /&gt;
AI aircraft need an access route to each threshold of each runway you want them to use for take off or landing. Your groundnet will need at least one route to one threshold for validation.&lt;br /&gt;
&lt;br /&gt;
At this stage, place only two access route per runway, one at each end, do not create routes starting/ending hallway (to vacate the runway at midpoint).&lt;br /&gt;
Your access routes will be used to ‘guide’ the aircraft all the way to a final node at which point it will be ‘handed over’ to the tower, start accelerating and take off.&lt;br /&gt;
This final node of each access route (Take Off Point) must sit within the runway thresholds. If not, departing aircraft will simply stop and queue at the entrance of the runway. This is crucial when dealing with displaced thresholds. As a rule of thumb, your access route should end up on the white marking indicating the runway number/identification.&lt;br /&gt;
&lt;br /&gt;
Backtracking: Certain airports do not have taxiways along the runway and aircraft will 'backtrack' on the runway itself to reach the threshold (often circling on a turnaround area to align for take off). In this scenario, you still need a route to guide your aircraft all the way to the take off node by placing nodes and segments on the runway and the the turnaround loop area. Make sure your loop starts (exits the runway) ahead of passing the final take off node: see an example [[:File:Using_the_runway_to_backtrack_to_the_threshold.jpg|HERE]].&lt;br /&gt;
&lt;br /&gt;
Your access routes (all routes at this stage in fact) must be bi directional so they can also be used for aircraft to vacate the runway if they taxi all the way to the threshold.&lt;br /&gt;
[[File:Multiple Route leading to a single Threshold.png|thumb|Runway access routes must be unique]]&lt;br /&gt;
Your access route must be unique: Traffic manager does not handle intersections (nodes with 4 routes) very well. Your take off points should not be connected to more than one route (case of taxiways on both sides of the runway feeding a single take off point from both sides as shown on the right.&lt;br /&gt;
&lt;br /&gt;
Select each of the nodes placed on the physical runway (not the ones leading to it) and mark them &amp;quot;On Runway&amp;quot; with the toggle in their properties panel &lt;br /&gt;
&lt;br /&gt;
'''Step 3 : Connect ParPos and Runway Access routes to form the groundnet.''' &lt;br /&gt;
&lt;br /&gt;
Link each of your parking positions and runway access routes by marking the taxiways with segments, avoiding sharp 90 degrees angles by breaking curves into 2 or 3 segments.&lt;br /&gt;
Keep the network as unconstrained as possible; Make all segments bi-directional, do not include any holding points (Pushback, Regular or Cat III) and do not mark any segment as pushback; At this stage, the idea is to give AI aircraft as many routing options as possible.&lt;br /&gt;
&lt;br /&gt;
Nodes should be placed only at points where the aircraft will change heading so they should be none in the middle of straight routes and definitely none at taxiway crossings.&lt;br /&gt;
&lt;br /&gt;
Segments starting (or ending) at a parking position must have the same heading than the parking stand. AI aircraft park straight and leave their parking straight (rolling forward or pushing back).&lt;br /&gt;
&lt;br /&gt;
Your groundnet does not need to cover 100% of the airport taxiways; certain areas (like De Icing stations or Engine Test Areas) will not be used by AI aircraft. In essence draw just enough routes so that all gates and runways are connected.&lt;br /&gt;
&lt;br /&gt;
'''Step 4 : Visual Check'''&lt;br /&gt;
Once your base groundnet complete, Check visually that your parking positions do not overlap, that nodes placed on physical runways are marked as such and that intersections are formed properly (no node unless the aircraft can turn here)&lt;br /&gt;
&lt;br /&gt;
'''Step 5 : Structural Check and Test'''&lt;br /&gt;
&lt;br /&gt;
Run the verification tool (available in both Taxidraw and FGAirports). Both programs will ensure at this stage that routes are valid and that nodes on runway are marked as such. &lt;br /&gt;
Taxidraw does not check the routes structures individually but rather that a route solution exist: If an aircraft can use different path/routes to go from its ParkPos to a given runway threshold and even if one of these routes is &amp;quot;broken&amp;quot; (unconnected segments) no error will be reported, because the aircraft could use another (unbroken) route to get to the threshold and hence still has a routing solution.&lt;br /&gt;
&lt;br /&gt;
FGAirports will do the same routing check but will also signal any unconnected node (broken routes). &lt;br /&gt;
Correct the errors found and re run the verification tools until no more problems are found.&lt;br /&gt;
&lt;br /&gt;
Time to test with 'real' traffic. Save your groundnet and export it to a custom scenery folder (NOT to the Terrasync Folder), usually something like F:\My Sceneries\Airports\S\B\SBGR.groundnet.xml.&lt;br /&gt;
Startup Flightgear and add your custom scenery folder path (the parent of \Airports) to your extra sceneries list in the Add On screen. Select your Airport as Startup Location. Run &lt;br /&gt;
&lt;br /&gt;
What to expect (normal behaviour with base groundnet, if FG has AI traffic at the airport):&lt;br /&gt;
[[File:Base GRoundnet Visual Check.jpg|border|right|950px|Base Taxidraw Groundnet for SBGR]] &lt;br /&gt;
* Parked aircraft will start appearing on the parking stands you have set. Departing aircraft will light up (red/green nav lights on wing tips, flashing beacon on top)&lt;br /&gt;
* Upon ATC clearance (automatic) Departing aircraft will roll forward into the terminal buildings then dance around a bit then join a taxiway and head for a threshold. The route they will use may not be the shortest nor the one you expected but it will be a route you have set.&lt;br /&gt;
* Departing Aircraft will queue up at the threshold. The first in line will enter the runway, accelerate (strobes lights activate) and take off. Aircraft will climb in a straight line and after +/- 10 seconds, change heading. At this point, the next aircraft in line will enter the runway and initiate its take off&lt;br /&gt;
* Arriving aircraft will start landing. The touchdown position will depend on the type of aircraft. Arrivals are not spaced out and you can see more than one aircraft landing at once on a single runway. After slowing down, they will taxi all the way to the end of the runway, exit via the access route you have set then head for an available parking position. Again the route they will use may not be the shortest or the one you expected and they may not park where you wanted. Once parked, Nav Lights will turn off&lt;br /&gt;
* At any given intersection (4 or more segments sharing a node) and at any time during the test, one aircraft will get stuck. Aircraft following it will start queueing. The intersection will remain clogged and AI taxiing stuck until you decide to shut down Flightgear.&lt;br /&gt;
* Aircraft will taxi from both directions on single taxiways, eventually passing through each other&lt;br /&gt;
* On larger airports where AI aircraft can use more than one route to go from one point to another and/or can park at multiple aprons they will show a geographical preference (normally North West) so parking and routes in this area will be busier. &lt;br /&gt;
What to look for (abnormal behaviour with base groundnet, if FG has AI traffic at the airport):&lt;br /&gt;
* Aircraft appearing in the middle of the airport and not following taxiways (not enough Parking Positions or not suitable in size or type CARGO/GATE)&lt;br /&gt;
* No aircraft (no AI traffic at this airport or not activated in FG options)&lt;br /&gt;
* Aircraft queue up at runway but do not take off (Misplaced Threshold in ICAO.threshold.xml)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Refining the network: Routing Flow &amp;amp; Baggage Carousels Belts === &lt;br /&gt;
&lt;br /&gt;
Objective:&lt;br /&gt;
* All Objectives in the &amp;quot;Creating the base Network&amp;quot; section&lt;br /&gt;
* No clogging at intersections&lt;br /&gt;
* No Head on crashes of aircraft sharing a single taxiway&lt;br /&gt;
&lt;br /&gt;
The traffic manager code is not fully documented nor maintained so only repeated testing (and discussions on the FG AI Forum) will allow you to form and understanding of the way AI aircraft will behave based on the type of groundnet data you feed them. This is an interesting but potentially frustrating exercise.&lt;br /&gt;
&lt;br /&gt;
You will eventually realize that AI traffic has a “mind of its own” which fluctuates between two extremes: &lt;br /&gt;
* AI traffic cannot make decisions: Typically, where presented with multiple routing options (an X intersection with 4 or more valid routes), AI traffic will consistently freeze/clog after some time if not immediately.&lt;br /&gt;
* AI traffic does not stand bullying: If presented with no alternative at all (too many unidirectional routes) AI traffic will move away from your groundnet taxiways and start mowing the lawns. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Groundnet Routing Flow Example.png|border|right|950px|Groundnet Routing Flow Example]]&lt;br /&gt;
Keeping these two constraints in mind, the clogging and head on collisions noted in your previous tests can be addressed by setting up a ‘Routing Flow’. The purpose of said routing is to guide each aircraft to their final destination (Parking or Threshold), by ensuring it uses a single route and never crosses any other aircraft path.&lt;br /&gt;
To achieve this we only have and need two tools: The ability to force the direction of traffic on any given segment (by making it “unidirectional”) and the ability of Traffic manager to handle priorities and queues formation at routes merging points (Y shaped intersections).&lt;br /&gt;
&lt;br /&gt;
The complexity of Routing Flow will increase exponentially with the number of gates, thresholds and traffic files handled: A single groundnet flow must accommodate indifferently a cargo flight arriving on RWY 1 in the evening or a commuter departing from RWY 2 in the morning.&lt;br /&gt;
&lt;br /&gt;
To better understand how efficient routing is achieved, draw on your experience at an airport Baggage carousel (or at a ‘Sushi Train' restaurant) where all bags arrive from one or two tunnels onto a moving belt and are then distributed to passengers waiting around the carousel. &lt;br /&gt;
That is all bags (Aircraft) arrive from a limited number of tunnels (Thresholds) and can reach any standing passenger (ParkPos) using a single belt (routing flow). It does not matter where the passenger stands nor what order the bags arrives in; if you wait long enough all bags will meet their owner, (unless you are at Heathrow).&lt;br /&gt;
&lt;br /&gt;
An advantage AI aircraft have over bags is that they can ‘transfer’ from one belt to another if a segment belongs to more than one belt/route. Putting it visually, a typical routing flow will resemble something like the image on the right : ‘Belts’ in green rotate clockwise, red ones rotate counter clockwise, segments in blue provide access in and out of the belts. The main belt along the northern runway includes bypasses allowing an aircraft to quickly reach the other side of the belt without having to travel its full length.&lt;br /&gt;
&lt;br /&gt;
Using the diagram, you can pick any combination of one runway access (threshold or intermediate vacating point) and one parking position and realize you can always find a unique route from A to B and another unique route from B to A without ever coming across an intersection, always using &amp;quot;Y&amp;quot; shaped merging lanes.&lt;br /&gt;
&lt;br /&gt;
[[File:Apron Belt at Bahrein Intl.png|left|thumb|Using the Belt technique to feed the OBBI apron]] &lt;br /&gt;
An additional benefit of the technique is visible when comparing the routing flow diagram and the base network image in the previous section: A groundnet with proper routing uses less nodes and segments than a full network, saving you time during the building phase. In fact, as you get more familiar with the technique you will realize it is a good idea to map your routing flow before building your groundnet so you create just enough nodes and segments. It is also important to know that you do NOT need to mark each and every segment as &amp;quot;unidirectional&amp;quot; but only the ones forming your Y shaped intersections.&lt;br /&gt;
&lt;br /&gt;
The belt technique can easily be adjusted to the specific shape of different airports: All of KJFK’s traffic is routed with only 2 belts set as concentric rings running in opposite directions. The inner ring connects all the aprons in an infinite loop; the external ring connects all the runways in a similar loop. A small number of “transfer belts” allow aircraft to move from one belt to the other.&lt;br /&gt;
&lt;br /&gt;
You can have a look at existing groundnets’ routing to better understand how this technique can be applied to your project. VVNB has the most basic version; LEMD and LFPG have very elaborate ones.&lt;br /&gt;
&lt;br /&gt;
Certain smaller airports do not have enough taxiways to allow the formation of a proper global belt but the technique can be used on individual aprons to ensure proper flow in and out of parking areas and simplify the design of pushback routes (next section) as shown on the image on the left, at Bahrein Intl.&lt;br /&gt;
&lt;br /&gt;
Testing : Once your routing flows in place you should re-test you groundnet. The expected behaviour is the same then the one described in the “Base Network, Step 5” section, with the exception of head on collisions and clogged intersections which should no longer exist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Refining the network: Pushback routes ===&lt;br /&gt;
&lt;br /&gt;
'''THIS SECTION IS WIP'''&lt;br /&gt;
With the above-mentioned refinements, the ground network should be fully working with one notable exception. Aircraft will be driving forward when leaving the gate, making a sharp turn (while probably destroying themselves and the terminal building in the process). To prevent this, a ''push back'' route should be created. A push back route consists of at least one or more taxiway segments that have the &amp;quot;PushBack Route&amp;quot; property set to true. The last of these segments should be terminated by a PushBack HoldPoint network node. Pushback routes are optional (if you like the terminal crashing scenario described above).&lt;br /&gt;
&lt;br /&gt;
'''Examples of simple valid pushback routes''' (Left: If the taxiway is bidirectional | Centre: If the taxiway is not bidirectional | Right: With shared Pushback Holding point)&lt;br /&gt;
&lt;br /&gt;
[[File:MultiDirectionnal Pushback Route in Taxidraw.jpg|400px|Valid AI Groudnet pushback for  multi directional taxiway]] &lt;br /&gt;
[[File:UniDirectionnal Pushback Route in Taxidraw.jpg|400px|Valid Pushback Route on Un directional taxiway]]&lt;br /&gt;
[[File:Shared Pushback Holding Point in Taxidraw.jpg|400px|Shared Pushback Holding Point]] &lt;br /&gt;
&lt;br /&gt;
[[File:Roll Forward Gate in Taxidraw.jpg|thumb|Invalid Park Pos Exist route : at and angle with Parking Position]]&lt;br /&gt;
===== Pushback Holding Points must be unique per Parking Position =====&lt;br /&gt;
&lt;br /&gt;
Each Parking space (ParkPos) can't have more than one push back route and one pushback holding point at the end of the route. Nevertheless, multiple Parkpos can share part of their pushback routes and a single Pushback Holding Point.&lt;br /&gt;
 &lt;br /&gt;
The formal criteria for a valid push back route is that each gate should have a maximum of one push back holding point associated with it, which can be reached using one route only.&lt;br /&gt;
From an editing point of view, mark all segments between your parking position and its final holding point as &amp;quot;push back&amp;quot;, do not forget to mark the ending node as Pushback Holding Point.&lt;br /&gt;
&lt;br /&gt;
===== The AI code does not handle sharp angles =====&lt;br /&gt;
&lt;br /&gt;
Add nodes to smoothen your routes so that no consecutive segments form an angle of less than 90 degrees. &lt;br /&gt;
This rule applies to both pushback and roll forward / taxiways routes &lt;br /&gt;
&lt;br /&gt;
===== The Inbound route and the outbound routes are parallel ===== &lt;br /&gt;
[[File:On Taxiway Pushback Holding Point in Taxidraw.jpg|thumb|Invalid Groudnet Pushback : Holding Point on Taxiway]]&lt;br /&gt;
&lt;br /&gt;
The last segment of the pushback route will condition the aircraft heading:&lt;br /&gt;
&lt;br /&gt;
1. During its travel along the pushback route &lt;br /&gt;
&lt;br /&gt;
2. At the Pushback Holding point (whilst waiting for clearance)&lt;br /&gt;
&lt;br /&gt;
3. On departing the pushback holding point, rolling forward to the runway.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can not control/force an AI aircraft to leave a Pushback Holding point at a different angle/heading than the one it came onto its final holding node at, whatever the number of routes you add.&lt;br /&gt;
&lt;br /&gt;
As a result, the last segment of the pushback route must align with the segment you expect the aircraft to use when starting to roll forward after clearance. The simpler set up is to have this final pushback segment overlapping the first segment of the roll forward route.&lt;br /&gt;
&lt;br /&gt;
Alternatively, the last segment of the pushback route can -itself- be the first segment of the roll forward route but this means Traffic Manager will consider this segment 'reserved' whilst the aircraft is pushing back and no other aircraft will be able to use the taxiway.&lt;br /&gt;
&lt;br /&gt;
For the same reason the Pushback Holding point should NOT be directly placed on the taxiway as shown in the image on the right 'On Taxiway Pushback Holding Point in Taxidraw'.&lt;br /&gt;
Using this particular configuration, once the aircraft 'cleared for taxi', it will ignore the taxiway segments on its left and right and keep its heading, rolling forward towards the original parking position, then 'get lost' and start spinning around, looking for a node to re-anchor to. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Roll Forward on my current heading&amp;quot; rules also applies to Parking position with no pushback route. These are often used for smaller propeller aircraft which &amp;quot;pivot&amp;quot; on their parking position before rolling forward. You cannot currently replicate this pivot behaviour in Flightgear AI &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is important to note that the Taxidraw &amp;quot;Verify Ground network&amp;quot; process ''should be run'' in order to get a correctly working push back system, because this function runs some internal consistency checks. Push back routes can be very simple, from just one route segment, to fairly complex, as illustrated below with all aircraft from one side of the E terminal are being linked to one shared push back point. &lt;br /&gt;
&lt;br /&gt;
Given the current push back system allows for fairly complicated behavior it is advisable to test extensively your groundnet and play with various configurations before sharing it to the community. &lt;br /&gt;
&lt;br /&gt;
Taxidraw note: TaxiDraw versions prior to February 5, 2009 did export the pushBackRoute attribute correctly. &lt;br /&gt;
&lt;br /&gt;
[[File:TaxiDraw2.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Verifying the network ====&lt;br /&gt;
Finally, with a network complete, it is important to verify it! The verification function not only detects obvious problems with the network, it also updates some internal states that FlightGear relies on. Presumably, an automatic verification process will be added to the export function, but until that is the case, make sure to do this manually. The verify network function can be found in the &amp;quot;Tools&amp;quot; menu. &lt;br /&gt;
&lt;br /&gt;
Notice that TaxiDraw does not automatically fix problems. It is left to the user to fix the problems manually. TaxiDraw does select the offending node(s) / segments(s) for easier identification. Also note that TaxiDraw stops verifying at the first problem encountered, so it is worthwhile to continue checking until no further errors are found. Currently, the following checks are performed.&lt;br /&gt;
&lt;br /&gt;
* '''On runway points''' Added on January 24, 2009, this check is most likely not yet available in any distributed version. This is currently just a very lame check to see if any point in the network has been marked as such. This check is not exhaustive, but simply meant as a reminder to the editor that the OnRunway points should still be marked. Ultimately, this check should be replaced by the aforementioned automatic geometry function.&lt;br /&gt;
* '''Duplicate Taxiway Segments''' It's easy to connect two network nodes twice. While this doesn't really hurt, it does add dead weight, so checking for duplicates is not a bad thing. &lt;br /&gt;
* '''Routing''' One of the most persistent headache causing problems is that of a disconnected parking space in the network. FlightGear will happily place an aircraft there, but bail out when that aircraft cannot reach the runway. The routing check attempts to prevent this. Notice that it is of utmost importance that the OnRunway points are set correctly, because TaxiDraw relies on these points for it's route finding algorithm. Because the route finding algorithm is rather computationally intensive, some progress information is currently written to the console (a proper progress bar would be nice). When a disconnected parking space is found, TaxiDraw selects both the parking and the runway node. It is still left to the user to trace a route between these two points and find where the two pieces are disconnected. &lt;br /&gt;
* '''Check and set pushback nodes''' this function verifies whether any specified pushback nodes adhere to the above specifications and updates some internal consistency.&lt;br /&gt;
&lt;br /&gt;
=== Copying the ground network into FlightGear's scenery directory ===&lt;br /&gt;
Finally, once you have finished creating a groundnet project, you can test it in FlightGear. Create a directory in your &amp;lt;tt&amp;gt;[[$FG_SCENERY]]/Airports/[I]/[C]/[A]/&amp;lt;/tt&amp;gt; directory, with the three first letters of the ICAO code of your airport. For example &amp;lt;tt&amp;gt;[[$FG_SCENERY]]/Airports/E/H/A/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In Taxidraw menu select File, Export AI Network and save the file in the above folde as ICAO.groundnet.xml. Please note that the File / Save project menu applies only to the airport layout and does NOT save your groundnet.&lt;br /&gt;
&lt;br /&gt;
=== Testing the network ===&lt;br /&gt;
Startup FlightGear at the airport for which you have just created the network, and make sure you have traffic for that aircraft. FlightGear will check the network and report errors on the console. Aircraft that can't be placed at one of the parking locations will be placed at a default location. &lt;br /&gt;
&lt;br /&gt;
If the FlightGear AI system can't find a valid route between startup location and runway, it will list which nodes are not connected and exit.&lt;br /&gt;
&lt;br /&gt;
=== Airports with ground networks ===&lt;br /&gt;
&lt;br /&gt;
= Runway Usage Configuration = &lt;br /&gt;
&lt;br /&gt;
ICAO.rwyuse.XML dictates which runway(s) should be used for AI take off and which ones accept AI landings. These instructions are organised in multiple sets (or configurations) and ordered by preference of use.&lt;br /&gt;
&lt;br /&gt;
Schedules can be defined so different runway configurations can be used at different time of the day. Different Sets can also be applied to the General Aviation and Commercial traffic.&lt;br /&gt;
&lt;br /&gt;
Each set of runway configuration is tested against the wind conditions and applies only if the crosswind and tailwind are within tolerance. If not, the next set in the order of preference, will be picked.&lt;br /&gt;
&lt;br /&gt;
Examples below taken from the Amsterdam Schiphol EHAM.rwyuse.xml file.&lt;br /&gt;
&lt;br /&gt;
Wind conditions are stored at the beginning of the file and indicate the maximum values of Crosswind and Tailwind acceptable to authorize take off and landing at the airport.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;wind tail=&amp;quot;7&amp;quot;&lt;br /&gt;
          cross=&amp;quot;20&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{quote|As well as aircraft, airports have operational crosswind and tailwind limits. [] The values vary but crosswind limits are normally 15-25 kts and tailwinds are normally no more than 10 kts.|ICAO|AMOFSG/10-SN No. 14}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt; time &amp;gt; table defines the hours of activation for a particular Schedule. Each schedule contains a 'Pattern' ie a fixed number of runways allocated to either take off or landing).&lt;br /&gt;
&lt;br /&gt;
For instance, at EHAM, the commercial &amp;quot;inbound&amp;quot; schedule is active from 06:20 to 08h30 UTC, at a time where there is more inbound than outbound traffic and the airport needs to allocate more runways to landing than to take off.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;time start = &amp;quot;06:20&amp;quot;&lt;br /&gt;
          end   = &amp;quot;08:30&amp;quot;&lt;br /&gt;
          schedule = &amp;quot;inbound&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases, a single schedule can apply 24h every day.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;time start = &amp;quot;00:00&amp;quot;&lt;br /&gt;
          end   = &amp;quot;24:00&amp;quot;&lt;br /&gt;
          schedule = &amp;quot;Day&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The different sets of runways allocation are listed in each &amp;lt; schedule &amp;gt; table by order of preference and can be read/deciphered vertically as ”columns” delimited by commas.&lt;br /&gt;
&lt;br /&gt;
When wind conditions do not allow the use of a set, the next one will apply (next “column”).&lt;br /&gt;
&lt;br /&gt;
Still using the EHAM.rwyuse.xml file as example, from 06:20 to 08:30 UTC, when the Inbound schedule applies; AI traffic will preferably use runway 36L for take-offs, and both 06 and 36R for landings (first “column” of data).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;schedule name=&amp;quot;inbound&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;takeoff&amp;gt;36L, 24,  18L, 36L, 24,  24,  18L, 09&amp;lt;/takeoff&amp;gt;&lt;br /&gt;
&amp;lt;landing&amp;gt;06,  18R, 18R, 36R, 27,  18R, 18R, 06&amp;lt;/landing&amp;gt;&lt;br /&gt;
&amp;lt;landing&amp;gt;36R, 18C, 18C, 36C, 18R, 22,  22,  09&amp;lt;/landing&amp;gt;&lt;br /&gt;
&amp;lt;/schedule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Shall wind conditions prevent the use of this configuration (Tailwind or Crosswind values exeeding the ones defined in &amp;lt;wind&amp;gt; above), the next set (or “column”) will apply ie 24 for take-offs, and 18R + 18C for landings.&lt;br /&gt;
&lt;br /&gt;
Again, if wind conditions prevent this configuration use, the next set will be used (18L for take-offs, 18R and 18C for landing).&lt;br /&gt;
&lt;br /&gt;
This test of runway sets against wind values will continue with the rest of the sets in the schedule until a valid one is found and applied.&lt;br /&gt;
&lt;br /&gt;
It is necessary for each of the &amp;lt;takeoff&amp;gt; and &amp;lt;landing&amp;gt; entries to have an equal number of runway values, per schedule, so each set contains the same number of runways.&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/CAMbEsE46ontK4G43zmrEqLEk%3D8ZK5sQ-vxZup%3DNjpaUDgb-ASw%40mail.gmail.com/#msg37166996 Source from Durk post in Devel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Model Animation =&lt;br /&gt;
&lt;br /&gt;
To assist with creating realistic aircraft behaviour, some properties are set by the Traffic Manager during particular flight phases as follows&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property !! Description !! Type !! At Gate !! Taxiing !! Take-off !! Cruise !! Approach and Landing&lt;br /&gt;
|-&lt;br /&gt;
| gear/gear[0..5]/position-norm || Gear Position || double (interpolated over 10 seconds || 1.0 || 1.0 || 0.0 (above 400ft) || 0.0 || 1.0 (below 2000ft)&lt;br /&gt;
|-&lt;br /&gt;
| surface-positions/flap-pos-norm || Flaps position || double (interpolated over 20 seconds || 0.0 || 0.0 || 0.5 (below 2000ft) || 0.0 || 1.0 ( below 2000ft)&lt;br /&gt;
|-&lt;br /&gt;
| surface-positions/spoiler-pos-norm || Spoiler position || double || 0.0 || 0.0 || 0.0 || 0.0 || 1.0 (on runway)&lt;br /&gt;
|-&lt;br /&gt;
| surface-positions/speedbrake-pos-norm || Speedbrake position || double || 0.0 || 0.0 || 0.0 || 0.0 || 1.0 (below 2000ft)&lt;br /&gt;
|-&lt;br /&gt;
| controls/lighting/beacon || Beacon || bool || false || true || true || true || true&lt;br /&gt;
|-&lt;br /&gt;
| controls/lighting/cabin-lights || Cabin lights || bool || true || true || true || false || false&lt;br /&gt;
|-&lt;br /&gt;
| controls/lighting/landing-lights || Landing lights || bool || false || false || false || true || true&lt;br /&gt;
|-&lt;br /&gt;
| controls/lighting/nav-lights || Navigation lights || bool || false || true || true || true || true&lt;br /&gt;
|-&lt;br /&gt;
| controls/lighting/strobe || Strobes || bool || false || false || true || true || true&lt;br /&gt;
|-&lt;br /&gt;
| controls/lighting/taxi-lights || Taxi lights || bool || false || true || false || false || false&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= SIDs / STARs =&lt;br /&gt;
SID is an acronym for [[Standard Instrument Departure]]. Likewise, STAR is an acronym for [[Standard Terminal Arrival Route]]. Directly after takeoff, in particular at busy airports, aircraft follow a standard flight path, that will keep them safely separated from arriving traffic, avoid ground obstructions, and also keeps traffic away from populated areas as much as possible. Currently, steps are in progress to allow FlightGear traffic to follow SIDs. Ultimately, the plan is to provide SID and STAR data in a format that can also be used by the user controlled Aircraft's Flight Management Computer. Currently, some sample data exist in the form of a PropertyList formatted XML file that contains a list of way points. &lt;br /&gt;
&lt;br /&gt;
This section of the AI Traffic documentation is meant as a stub that keeps track of the current development. At the moment of writing, some proof-of-concept data for EHAM SIDs will be committed to the World Scenery Repository, along with some experimental code in FlightGear to make use of this data. Note that this data is meant to be just that; a proof-of-concept. User contributions will be accepted as soon as the format has stabilized.&lt;br /&gt;
&lt;br /&gt;
= Appendix: Special Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
With recent versions of FlightGear, we have much better performance than before so realistic density of traffic is currently possible even for slower computers. For those who are still afraid, there is an, as of yet, unpublished feature: set a new property &amp;quot;/sim/traffic-manager/proportion&amp;quot; to any value between 0 and 1 in your preferences.xml. During program start up, the traffic manager draws a random number (between 0 and 1) for each aircraft, and if that random number is smaller than the value specified in /sim/traffic-manager/proportion, the aircraft is added, otherwise it is discarded. In essence, only the specified proportion of aircraft will be loaded. &lt;br /&gt;
&lt;br /&gt;
Unfortunately you can't change this at runtime yet, so you need a little bit trial and error! However, it should allow the combination of slower computers and dense traffic files.&lt;br /&gt;
&lt;br /&gt;
= Related content =&lt;br /&gt;
* [[Airports with ground networks]]&lt;br /&gt;
* [[FGAirports]] - A groundnet editor&lt;br /&gt;
* [[Flightplan XML formats]]&lt;br /&gt;
* [[Status of AI in FlightGear]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[de:Interaktiver Verkehr]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AI Traffic]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Scenery enhancement]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=138274</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=138274"/>
		<updated>2023-08-26T20:13:27Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update for Devuan Daedalus / Debian Bookworm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-To build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Daedalus). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bookworm, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the herein used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
: On Devuan Chimaera (Debian Bullseye) packages &amp;lt;code&amp;gt;g++-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;gcc-9&amp;lt;/code&amp;gt; are required additionally. To utilize these older versions apply environment variables to SimGear's and FlightGear's cmake commands like so: &amp;lt;code&amp;gt;CC=gcc-9 CXX=g++-9 cmake [...]&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;lt;code&amp;gt;libcurl4-openssl-dev&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;libcurl4-gnutls-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;lt;code&amp;gt;libplib-dev&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libsimgear-dev&amp;lt;/code&amp;gt;.&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libboost-dev libcurl4-openssl-dev libdbus-1-dev libeudev-dev libevent-dev libfreetype6-dev libglew-dev liblzma-dev libopenal-dev libopenscenegraph-dev libqt5quick5 libqt5svg5-dev libxi-dev libxmu-dev pkg-config qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' – The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2020.3&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' – The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' – The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2020.3&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FGData|FlightGear data]] ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir -p $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D CMAKE_BUILD_TYPE=Release -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=137695</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=137695"/>
		<updated>2023-05-22T02:45:37Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Dependencies overhaul, clone fgdata before compiling FG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Chimaera). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bullseye, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su - -c &amp;quot;apt-get install cmake g++ g++-9 gcc gcc-9 git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
 su - -c &amp;quot;apt-get install freeglut3-dev libboost-dev libcurl4-openssl-dev libdbus-1-dev \&lt;br /&gt;
    libeudev-dev libevent-dev libfreetype6-dev libglew-dev liblzma-dev libopenal-dev \&lt;br /&gt;
    libopenscenegraph-dev libqt5quick5 libqt5svg5-dev libxi-dev libxmu-dev pkg-config \&lt;br /&gt;
    qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qttools5-dev zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Obsolete?: libqt5opengl5-dev  qml-module-qtquick2  qml-module-qtquick-window2 --&amp;gt;&lt;br /&gt;
&amp;lt;!-- libgsm.so   /usr/bin/hg   libspeex-dev  libXcomposite.so  libXcursor.so  X11_Xaccessrules  X11_Xaccessstr  libXdamage.so&lt;br /&gt;
libXft.so  libXinerama.so  libXpm.so  libXrandr.so  libXrender.so  libXss.so  libXtst.so  libXv.so  libXxf86vm.so  libxkbcommon.so  libxkbfile.so --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2020.3&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2020.3&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 CC=gcc-9 CXX=gcc-9 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 CC=gcc-9 CXX=g++-9 cmake CFLAGS=&amp;quot;--std=c++17&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 CC=gcc-9 CXX=g++-9 cmake CFLAGS=&amp;quot;--std=c++17&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_BUILD_TYPE=Release -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=137692</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=137692"/>
		<updated>2023-05-16T22:45:30Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update for Devuan Chimaera&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Chimaera). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Bullseye, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++-9 gcc-9 git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev        liblzma-dev           pkg-config \&lt;br /&gt;
   libboost-dev         libopenal-dev         qml-module-qtquick2 \&lt;br /&gt;
   libcurl4-openssl-dev libopenscenegraph-dev qml-module-qtquick-window2 \&lt;br /&gt;
   libdbus-1-dev        libqt5opengl5-dev     qtbase5-private-dev \&lt;br /&gt;
   libevent-dev         libqt5svg5-dev        qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev     libxi-dev             qttools5-dev \&lt;br /&gt;
   libglew-dev          libxmu-dev            zlib1g-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- für Chimaera/Bullseye?: libqt5quick5-gles --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2020.3&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2020.3&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 CXX=g++-9 cmake CFLAGS=&amp;quot;--std=c++17&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 CXX=g++-9 cmake CFLAGS=&amp;quot;--std=c++17&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=137616</id>
		<title>FlightGear IRC channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=137616"/>
		<updated>2023-04-24T00:57:46Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Removing #flightgearde from channels list due to inactivity.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEFAULTSORT:IRC channel}}&lt;br /&gt;
The '''FlightGear IRC Network''' is an online system that will allow you to talk to a lot of people around the world and is related to everything about [[FlightGear]]. It's mostly used by developers, but it is also a good place to ask for help if you are having a question.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
It consists of localised servers that are all linked up to form a seamless chat network so if you are based in England you would connect to a nearby server in England and you would see exactly the same people as someone connecting to a server in the USA.&lt;br /&gt;
&lt;br /&gt;
To connect to the IRCnet network you first need a suitable client. You can also use [http://www.xchat.org/ XChat] (Linux and Windows), [http://sourceforge.net/projects/xchataqua/ X-Chat Aqua] (X Chat Mac),  [http://www.pidgin.im/ Pidgin], [http://colloquy.info/ Colloquy] (for Mac/iOS), [http://www.mirc.com/ mIRC], [https://Konversation.kde.org Konversation] or any other client.&lt;br /&gt;
&lt;br /&gt;
When you first login to the network you must pick yourself a unique nickname for the current chat session. Nicknames can be up to 31 characters in length and contain numbers and some punctuation characters. Some examples of nicknames you can use are:&lt;br /&gt;
&lt;br /&gt;
* Fred&lt;br /&gt;
* BIG_fred&lt;br /&gt;
* ^Fred^&lt;br /&gt;
* Fred-&lt;br /&gt;
* ^Fred&lt;br /&gt;
* fred007&lt;br /&gt;
&lt;br /&gt;
It doesn't matter about capital or lower case letters in the nickname since they are treated the same when people want to contact you and there are some weird and obscure rules about nicknames such as them not being able to begin with a &amp;quot;-&amp;quot; character. Most of these rules have no rhyme nor reason to them but we didn't write the software, we just have to try and tell people how to use it. Have an experiment and see what suits you best.&lt;br /&gt;
&lt;br /&gt;
Once you found your personal unique nickname you may want to register it with [[#Network_Services|NickServ]] (see below).&lt;br /&gt;
&lt;br /&gt;
== Official hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Host !! Location&lt;br /&gt;
|-&lt;br /&gt;
| de.irc.flightgear.org&lt;br /&gt;
| Germany&lt;br /&gt;
|-&lt;br /&gt;
| irc.flightgear.org&lt;br /&gt;
| currently an alias for de.irc.flightgear.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''port''' to connect to is 6667 (or 6659 for SSL) for each server.&lt;br /&gt;
&lt;br /&gt;
These servers are interconnected to form the FlightGear IRC network. Please choose the host closest to you geographically. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The FlightGear IRC network has several channels, some of which are listed below. To obtain a real list, use the IRC command &amp;quot;/list&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Use&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Main channel (English)&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-blender&lt;br /&gt;
| [[Blender]] &lt;br /&gt;
|-&lt;br /&gt;
| #flightgearFR&lt;br /&gt;
| FlightGear Channel for French Speaking &lt;br /&gt;
|-&lt;br /&gt;
|#flightgearIT&lt;br /&gt;
|FlightGear Channel for Italian Speaking&lt;br /&gt;
|-&lt;br /&gt;
| #flightgearNL&lt;br /&gt;
| FlightGear Channel for Dutch Speaking &lt;br /&gt;
|-&lt;br /&gt;
|#flightgearPL&lt;br /&gt;
|FlightGear Channel for Polish Speaking&lt;br /&gt;
|-&lt;br /&gt;
| #fg_school&lt;br /&gt;
| [[FlightGear Flight Academy|Flight School]] &lt;br /&gt;
|-&lt;br /&gt;
| #fgms&lt;br /&gt;
| [[fgms]] related stuff&lt;br /&gt;
|-&lt;br /&gt;
| #airliners&lt;br /&gt;
| IFR Navigation Squawk &lt;br /&gt;
|-&lt;br /&gt;
| #fg_canteen&lt;br /&gt;
| Off topic community &lt;br /&gt;
|-&lt;br /&gt;
| #fg-ru&lt;br /&gt;
| Russian Flightgear Community&lt;br /&gt;
|-&lt;br /&gt;
| #wiki&lt;br /&gt;
| Wiki &lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-forum&lt;br /&gt;
| Forum &lt;br /&gt;
|-&lt;br /&gt;
| #help&lt;br /&gt;
| general help on IRC&lt;br /&gt;
|-&lt;br /&gt;
| #staffers&lt;br /&gt;
| Server Admins&lt;br /&gt;
|-&lt;br /&gt;
| #flyingclub&lt;br /&gt;
| [[FlightGear Flying Club]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Network Services ==&lt;br /&gt;
=== NickServ ===&lt;br /&gt;
NickServ allows you to &amp;quot;register&amp;quot; a nickname and prevent others from using it. The following commands allow for registration and maintenance of nicknames; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
Some of the common commands are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GROUP&lt;br /&gt;
| Adds a nickname to your account.&lt;br /&gt;
|-&lt;br /&gt;
| IDENTIFY&lt;br /&gt;
| Identifies to services for a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GHOST&lt;br /&gt;
| Reclaims use of a nickname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This service is intended to provide a way for IRC users to ensure their identity is not compromised. It is ''not'' intended to facilitate &amp;quot;stealing&amp;quot; of nicknames or other malicious actions.  Abuse of NickServ will result in, at minimum, loss of the abused nickname(s).&lt;br /&gt;
&lt;br /&gt;
=== ChanServ ===&lt;br /&gt;
ChanServ allows you to register and control various aspects of channels.  ChanServ can often prevent malicious users from &amp;quot;taking over&amp;quot; channels by limiting who is allowed channel operator privileges. Some available commands are listed below; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type:&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a channel.&lt;br /&gt;
|-&lt;br /&gt;
| RECOVER&lt;br /&gt;
| Regain control of your channel.&lt;br /&gt;
|-&lt;br /&gt;
| FLAGS&lt;br /&gt;
| Manipulates specific permissions on a channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MemoServ ===&lt;br /&gt;
MemoServ is a utility allowing IRC users to send short messages to other IRC users, whether they are online at the time or not.  Both the sender's nickname and the target nickname must be registered in order to send a memo.&lt;br /&gt;
&lt;br /&gt;
MemoServ's commands include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| READ&lt;br /&gt;
| Reads a memo.&lt;br /&gt;
|-&lt;br /&gt;
| SEND&lt;br /&gt;
| Sends a memo to a user.&lt;br /&gt;
|-&lt;br /&gt;
| SENDGROUP&lt;br /&gt;
| Sends a memo to all members on a group.&lt;br /&gt;
|-&lt;br /&gt;
| SENDOPS&lt;br /&gt;
| Sends a memo to all ops on a channel.&lt;br /&gt;
|-&lt;br /&gt;
| DELETE&lt;br /&gt;
| Deletes memos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For help on any of the above commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
To see a list of all available MemoServ commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP&lt;br /&gt;
&lt;br /&gt;
=== HostServ ===&lt;br /&gt;
HostServ allows users to request a virtual hostname. Normally we only allow IPs to be shown on a users&lt;br /&gt;
connection (so no dns lookups are made upon a new connection). To hide your host to other users you are&lt;br /&gt;
free to select a vhost from a predefined list (or a uniquely requested one) via hostserv. In that case&lt;br /&gt;
your selected hostname will be shown to others instead of your real IP.&lt;br /&gt;
&lt;br /&gt;
To see the list of all available commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg HostServ HELP&lt;br /&gt;
&lt;br /&gt;
Some commands of interest are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! IRC Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| OFFERLIST&lt;br /&gt;
| Lists all available vhosts.&lt;br /&gt;
|-&lt;br /&gt;
| TAKE&lt;br /&gt;
| Take an offered vhost for use.&lt;br /&gt;
|-&lt;br /&gt;
| REQUEST&lt;br /&gt;
| Requests new virtual hostname for current nick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For further help type &amp;lt;tt&amp;gt;'''/msg ''SERVICE'' help'''&amp;lt;/tt&amp;gt; (replace &amp;lt;tt&amp;gt;''SERVICE''&amp;lt;/tt&amp;gt; with the name of the service)&lt;br /&gt;
&lt;br /&gt;
== Other hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network !! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| irc.freenode.net&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Only for emergencies.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to get in there with ChatZilla ==&lt;br /&gt;
[[File:IRC-ChatZilla.jpg|thumb|ChatZilla Client area]]&lt;br /&gt;
When using ChatZilla, go to your Mozilla/Firefox browser and enter [irc://mpserver12.flightgear.org irc://mpserver12.flightgear.org]. When ChatZilla has connected to the host, click &amp;quot;IRC&amp;quot; and &amp;quot;Join channel...&amp;quot;. Pick the preferred channel.&lt;br /&gt;
&lt;br /&gt;
To get directly to the main channel with ChatZilla, you can also enter [irc://mpserver12.flightgear.org/flightgear irc://mpserver12.flightgear.org/flightgear] in your browser.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.ircbeginner.com/ General information about IRC]&lt;br /&gt;
* [http://www.ircbeginner.com/ircinfo/ircc-commands.html General IRC commands]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=129879</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=129879"/>
		<updated>2021-01-10T18:07:00Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update liblzma&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Beowulf). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Buster, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev        libopenal-dev             qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev         libopenscenegraph-3.4-dev qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev libqt5opengl5-dev         qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev        libqt5svg5-dev            qtdeclarative5-private-dev \&lt;br /&gt;
   libevent-dev         libxi-dev                 qttools5-dev \&lt;br /&gt;
   libfreetype6-dev     libxmu-dev                zlib1g-dev \&lt;br /&gt;
   libglew-dev          pkg-config \&lt;br /&gt;
   liblzma-dev          qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- libopenscenegraph-3.4-dev, libopenscenegraph-dev, libopenthreads-dev --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2019.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2020.3&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=127038</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=127038"/>
		<updated>2020-08-26T22:43:23Z</updated>

		<summary type="html">&lt;p&gt;Flughund: add missing slash &amp;quot;/&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Beowulf). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Buster, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev        libopenal-dev             qml-module-qtquick2 \&lt;br /&gt;
   libboost-dev         libopenscenegraph-3.4-dev qml-module-qtquick-window2 \&lt;br /&gt;
   libcurl4-openssl-dev libqt5opengl5-dev         qt5-default \&lt;br /&gt;
   libdbus-1-dev        libqt5svg5-dev            qtbase5-private-dev \&lt;br /&gt;
   libevent-dev         libxi-dev                 qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev     libxmu-dev                qttools5-dev \&lt;br /&gt;
   libglew-dev          pkg-config&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
&amp;lt;!-- libopenscenegraph-3.4-dev, libopenscenegraph-dev, libopenthreads-dev --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2019.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2020.2&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=126757</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=126757"/>
		<updated>2020-08-05T07:34:00Z</updated>

		<summary type="html">&lt;p&gt;Flughund: 2019.1 --&amp;gt; 2020.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Beowulf). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Buster, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev        libopenal-dev             qml-module-qtquick2 \&lt;br /&gt;
   libboost-dev         libopenscenegraph-3.4-dev qml-module-qtquick-window2 \&lt;br /&gt;
   libcurl4-openssl-dev libqt5opengl5-dev         qt5-default \&lt;br /&gt;
   libdbus-1-dev        libqt5svg5-dev            qtbase5-private-dev \&lt;br /&gt;
   libevent-dev         libxi-dev                 qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev     libxmu-dev                qttools5-dev \&lt;br /&gt;
   libglew-dev          pkg-config&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
&amp;lt;!-- libopenscenegraph-3.4-dev, libopenscenegraph-dev, libopenthreads-dev --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2019.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2020.2&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=122491</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=122491"/>
		<updated>2020-03-24T13:22:49Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Added missing libevent-dev for swift.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Beowulf). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Buster, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev        libopenal-dev             qml-module-qtquick2 \&lt;br /&gt;
   libboost-dev         libopenscenegraph-3.4-dev qml-module-qtquick-window2 \&lt;br /&gt;
   libcurl4-openssl-dev libqt5opengl5-dev         qt5-default \&lt;br /&gt;
   libdbus-1-dev        libqt5svg5-dev            qtbase5-private-dev \&lt;br /&gt;
   libevent-dev         libxi-dev                 qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev     libxmu-dev                qttools5-dev \&lt;br /&gt;
   libglew-dev          pkg-config&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
&amp;lt;!-- libopenscenegraph-3.4-dev, libopenscenegraph-dev, libopenthreads-dev --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2019.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2019.1&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=122466</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=122466"/>
		<updated>2020-03-23T19:52:29Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update to Beowulf/Buster&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (Beowulf). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Buster, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev          qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev           libqt5opengl5-dev       qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev   libqt5svg5-dev          qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev          libxi-dev               qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev       libxmu-dev              qttools5-dev \&lt;br /&gt;
   libglew-dev            libopenal-dev           libopenscenegraph-3.4-dev \&lt;br /&gt;
   pkg-config             qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
&amp;lt;!-- libopenscenegraph-3.4-dev, libopenscenegraph-dev, libopenthreads-dev --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2019.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2019.1&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src/&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FlightGear&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Default_head-up_display&amp;diff=121665</id>
		<title>Default head-up display</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Default_head-up_display&amp;diff=121665"/>
		<updated>2020-02-27T18:47:03Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Removed links due to missing targets.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The HUD system will one day be replaced by a [[Canvas HUD]] system.}}&lt;br /&gt;
&lt;br /&gt;
The {{Wikipedia|Head-up display|'''Head-up display'''}} (HUD) is an important instrument in modern, mostly military, cockpits. FlightGear provides a XML-based system to relatively easily create HUDs for aircraft such as the [[F-14B]] and [[F-16]].&lt;br /&gt;
&lt;br /&gt;
However, this article's focus is on FlightGear's default head-up displays. Those are available for any craft which does not include its own set. Have a look at [[#Further Information|Further Information]] if you're planning to create a HUD.&lt;br /&gt;
&lt;br /&gt;
Activate the HUD with {{key press|h}}. Pressing it repeatedly moves through the configured colours and turns it off again. To change the brightness, press {{key press|Shift|h}}. Press {{key press|Shift|i}} to go through the available HUDs. Press {{key press|i}} to switch back to the first one at any time. Have in mind that some aircraft do assign one or more of those keys differently and therefore one or more function/s is/are missing on them.&lt;br /&gt;
&lt;br /&gt;
Some of the head-up display's options can be altered in the menu: &amp;lt;code&amp;gt;View → Adjust HUD Properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_overview.png|thumb|420px|Huds/default.xml]]&lt;br /&gt;
[[File:HUD_minimal_overview.png|thumb|420px|Huds/minimal.xml]]&lt;br /&gt;
[[File:HUD_NTPS_overview.png|thumb|420px|Huds/NTPS.xml]]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
=== Control inputs ===&lt;br /&gt;
; [[Aileron]]&lt;br /&gt;
: Monitors the bearing of the control input on the aileron's axis. Attached along the upper side is the indicator for the trim input on that axis.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/aileron&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/aileron-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Elevator]]&lt;br /&gt;
: Monitors the bearing of the control input on the elevator's axis. Attached to the left the trim on this axis.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/elevator&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/elevator-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Rudder]]&lt;br /&gt;
: Monitors the bearing of the control input on the rudder's axis. Attached to the bottom the trim input.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/rudder&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/rudder-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Throttle&lt;br /&gt;
: Monitors the throttle input axis.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/controls/engines/engine/throttle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instruments ===&lt;br /&gt;
; [[AMSL]] (Height &amp;lt;u&amp;gt;a&amp;lt;/u&amp;gt;bove &amp;lt;u&amp;gt;m&amp;lt;/u&amp;gt;ean &amp;lt;u&amp;gt;s&amp;lt;/u&amp;gt;ea &amp;lt;u&amp;gt;l&amp;lt;/u&amp;gt;evel)&lt;br /&gt;
: Current altitude relative to sea level in feet (ft) (1 ft = 30.48 cm).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/position/altitude-ft&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; g-load&lt;br /&gt;
: The {{Wikipedia|G-force}} appealing to the pilot - to avoid black-/redout.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/accelerations/pilot/z-accel-fps_sec&amp;lt;/code&amp;gt; with factor &amp;lt;tt&amp;gt;-0.03108095&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Avionics and Instruments#DirectionalGyro|Gyrocompass]]&lt;br /&gt;
: This is an ideal version of a gyrocompass without the drawbacks of a real one. It shows heading of the aircraft relative to the geographical North Pole (true north) in degree (360 degree scale).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/orientation/heading-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[KIAS]] ('''K'''nots '''I'''ndicated '''A'''ir'''s'''peed)&lt;br /&gt;
: Current speed relating to the ambient air in knot/knots (kt/kts) (1 kt = 1.151 mph = 1.852 km/h).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/velocities/airspeed-kt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Latitude / Longitude&lt;br /&gt;
: Current location according to the {{Wikipedia|geographic coordinate system}}.&lt;br /&gt;
: To change the format of the displayed coordinates, go to &amp;lt;tt&amp;gt;Autopilot&amp;lt;/tt&amp;gt; --&amp;gt; &amp;lt;tt&amp;gt;Set Lat/Lon-format&amp;lt;/tt&amp;gt;.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/position/latitude-string&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/position/longitude-string&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pitch ladder&lt;br /&gt;
: Displays the aircraft's pitch and roll relative to the ground's level/horizontal in degree. It's used as an artificial horizon ([[Avionics and Instruments#Attitude Indicator|Attitude indicator]]).&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/orientation/roll-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/orientation/pitch-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Radio altimeter&lt;br /&gt;
: Shows current altitude [[above ground level]] (AGL) in feet. Relating to the location of the aircraft's radio altimeter, it's not zero if the aircraft is on the ground.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/position/altitude-agl-ft&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Turn-bank-indicator&lt;br /&gt;
: [[Avionics and Instruments#Turn Coordinator|Turn Coordinator]]&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/orientation/roll-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/orientation/side-slip-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_autopilot.jpg|thumb|420px|HUD autopilot]]&lt;br /&gt;
=== [[Autopilot]] ===&lt;br /&gt;
If the autopilot is active the HUD displays its settings. For each active function (heading, altitude and speed) a box will appear below the gyrocompass containing information on its mode and, if existent, the associated value.&lt;br /&gt;
; Heading control&lt;br /&gt;
: Whether it is active or not and on which mode it operates is determined by the content of the  &amp;lt;code&amp;gt;/autopilot/locks/heading&amp;lt;/code&amp;gt; property.&lt;br /&gt;
: The values are taken from &amp;lt;code&amp;gt;/autopilot/settings/heading-bug-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/true-heading-deg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Altitude control&lt;br /&gt;
: Active mode:	&amp;lt;code&amp;gt;/autopilot/locks/altitude&amp;lt;/code&amp;gt;&lt;br /&gt;
: Their values: &amp;lt;code&amp;gt;/autopilot/settings/target-altitude-ft&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/autopilot/settings/vertical-speed-fpm&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/target-agl-ft&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Speed control&lt;br /&gt;
: Active mode: &amp;lt;code&amp;gt;/autopilot/locks/speed&amp;lt;/code&amp;gt;&lt;br /&gt;
: Their values: &amp;lt;code&amp;gt;/autopilot/settings/target-speed-kt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/target-speed-mach&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_gps.jpg|thumb|420px|HUD GPS]]&lt;br /&gt;
=== [[GPS]] ===&lt;br /&gt;
The upper left hand corner shows the most important information on the actual state of the GPS. Namely these are (line by line):&lt;br /&gt;
: the mode the GPS operates in and the active waypoint's identifier.&lt;br /&gt;
: the distance &amp;quot;D&amp;quot; (in nautical miles, nm) and the calculated time to this waypoint &amp;quot;TTW&amp;quot;.&lt;br /&gt;
: the bearing &amp;quot;BRG&amp;quot; to the active waypoint and the course deviation &amp;quot;XTR&amp;quot; based on the leg from the previous waypoint.&lt;br /&gt;
: the current speed relative to the ground &amp;quot;GS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Big fat arrow ===&lt;br /&gt;
Remains of a going to be useful instrument.&lt;br /&gt;
: To get rid of it, remove or comment &amp;quot;runway.xml&amp;quot; from/in &amp;lt;tt&amp;gt;$FG_ROOT/Huds/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=Huds/default.xml;hb=HEAD default.xml]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
: To make it point to the airport selected by menu item &amp;quot;Tower Position&amp;quot;, apply patches as shown [http://sourceforge.net/mailarchive/message.php?msg_id=30422572 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Information ==&lt;br /&gt;
HUDs may be replaced or added by changing or adding their paths in &amp;lt;tt&amp;gt;preferences.xml&amp;lt;/tt&amp;gt; or by setting the paths as command line options. To change the order of the existing ones the options would be: &amp;lt;code&amp;gt;--prop:/sim/hud/path[1]=Huds/minimal.xml&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;--prop:/sim/hud/path[2]=Huds/default.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you consider to create your own HUD have a look at [[Canvas HUD]] first.&lt;br /&gt;
&lt;br /&gt;
The basic settings regarding to any HUD are set in &amp;lt;tt&amp;gt;$FG_ROOT/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=preferences.xml;hb=HEAD preferences.xml]&amp;lt;/tt&amp;gt;. Search the file for the &amp;lt;tt&amp;gt;&amp;lt;hud&amp;gt;&amp;lt;/tt&amp;gt;-tag and you will find a list of properties.&lt;br /&gt;
&lt;br /&gt;
The setup of the default HUD is defined at &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Huds/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=Huds/default.xml;hb=HEAD default.xml]&amp;lt;/tt&amp;gt; and documentation can be found at &amp;lt;tt&amp;gt;$FG_ROOT/Docs/[https://sourceforge.net/p/flightgear/fgdata/ci/next/tree/Docs/README.hud README.hud]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional HUDs ==&lt;br /&gt;
; [http://wiki.beggabaur.rocks/ya/HeliHUD HeliHUD]&lt;br /&gt;
: Designed to fly helicopters in Helicopter View it is also handy for any craft with a not yet finished cockpit. It also contains a minimalistic HUD only showing some navigational information such as compass and GPS. The [http://beggabaur.rocks/fgfs/helihud_0.3.tar.bz2 download] contains instructions and specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=120819</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=120819"/>
		<updated>2019-11-08T10:46:07Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Complete overhaul; new system for handling FlightGear versions; updated for 2019.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] on [https://devuan.org/ Devuan] GNU/Linux Stable (ASCII). Instructions probably apply to [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, ''checklist'' like, overview of the specific steps to compile FlightGear and components on Devuan. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
 su -c &amp;quot;apt-get install \&lt;br /&gt;
   freeglut3-dev          qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev           libqt5opengl5-dev       qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev   libqt5svg5-dev          qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev          libxi-dev               qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev       libxmu-dev              qttools5-dev \&lt;br /&gt;
   libglew-dev            libopenal-dev           libopenscenegraph-3.4-dev \&lt;br /&gt;
   pkg-config             qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are libplib-dev and simgear-dev.&lt;br /&gt;
&amp;lt;!-- libopenscenegraph-3.4-dev, libopenscenegraph-dev, libopenthreads-dev --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Some things require customisation. We'll use [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash environment variables] for them: &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_VERSION''' - The version of FlightGear to build and install. This is either &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; (for the bleeding edge development branch) or a release number in the form &amp;lt;code&amp;gt;release/2019.1&amp;lt;/code&amp;gt;. For a list of valid releases see [https://sourceforge.net/p/flightgear/flightgear/ref/next/branches/ here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_SRC_DIR''' - The absolute path to the directory which is supposed to hold the source codes. In case your user belongs to the group ''staff'', &amp;lt;code&amp;gt;/usr/local/src/&amp;lt;/code&amp;gt; would be an appropriate location. But any location is fine, too, e.g. &amp;lt;code&amp;gt;$HOME/src/&amp;lt;/code&amp;gt;. In any case the user has to have write access there.&amp;lt;br /&amp;gt;&lt;br /&gt;
: '''FG_INSTALL_DIR''' - The absolute path to where FlightGear is going to be installed. Again, &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt; is appropriate, if your user belongs to ''staff''. But any location where the user has write access is ok, e.g. &amp;lt;code&amp;gt;$HOME/FlightGear/&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # Examples, adapt to your own needs:&lt;br /&gt;
 export FG_VERSION=release/2019.1&lt;br /&gt;
 export FG_SRC_DIR=/usr/local/src/&lt;br /&gt;
 export FG_INSTALL_DIR=/usr/local/&lt;br /&gt;
: Remember to export these variables in each console you use in the process.&lt;br /&gt;
From here on it should™ be possible to just copy and paste the entire content of each code box at once into the console.&lt;br /&gt;
 # Create specified directories if they do not exist:&lt;br /&gt;
 mkdir -p $FG_SRC_DIR&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix versions for SimGear, FlighGear and fgdata! Mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
While just installing package libplib-dev should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case libplib-dev ''must not'' be installed during the installation process of Simgear and Flightgear!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
Required only for building &amp;quot;next&amp;quot;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo only provides 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_SWIFT:BOOl=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;!-- -D ENABLE_HID_INPUT=OFF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout $FG_VERSION&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run. In case your FG_INSTALL_DIR is &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, just run &amp;lt;code&amp;gt;fgfs --launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case it's anywhere else on the system, things are a tad more complicated:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does.&lt;br /&gt;
: Since [http://www.linfo.org/path_env_var.html $PATH] most likely does not cover the FG_INSTALL_DIR the full path to the fgfs binary is required to run it.&lt;br /&gt;
: Even though it's a tad more laborious than installing it to &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, this approach has the advantage of easlily managing several FlightGear installations.&lt;br /&gt;
&lt;br /&gt;
To make it permanent and less complicated one option would be to create an alias:&lt;br /&gt;
 echo -e &amp;quot;alias flightgear='LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib\&lt;br /&gt;
  $FG_INSTALL_DIR/bin/fgfs --launcher' \n&amp;quot; &amp;gt;&amp;gt; $HOME/.bashrc&lt;br /&gt;
 source $HOME/.bashrc&lt;br /&gt;
: Now running &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; will start the simulator.&lt;br /&gt;
&lt;br /&gt;
To keep the source code git repos up to date have a look at our [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section.&lt;br /&gt;
&lt;br /&gt;
Please report issues or any kind of feedback to the [[Talk:Building_FlightGear_-_Devuan|talk page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uninstalling ==&lt;br /&gt;
To uninstall Flightgear and its components from e.g. &amp;lt;code&amp;gt;/usr/local/&amp;lt;/code&amp;gt;, run &amp;lt;code&amp;gt;make uninstall&amp;lt;/code&amp;gt; inside each software's build directory:&lt;br /&gt;
 cd $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 cd $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
 rm -R $FG_INSTALL_DIR/share/fgdata&lt;br /&gt;
&amp;lt;!-- cd $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; make uninstall --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=117256</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=117256"/>
		<updated>2019-02-05T12:41:46Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update for 2018.3.2 (OSG v3.4.1)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.3|2018.3]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (ASCII). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev          libopenscenegraph-dev   qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev           libqt5opengl5-dev       qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev   libqt5svg5-dev          qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev          libxi-dev               qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev       libxmu-dev              qttools5-dev \&lt;br /&gt;
   libglew-dev            pkg-config \&lt;br /&gt;
   libopenal-dev          qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot;, &amp;quot;libopenscenegraph-3.4-dev&amp;quot;, &amp;quot;libopenscenegraph-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case &amp;quot;libplib-dev&amp;quot; ''must not'' be installed!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[OpenSceneGraph]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Recommended version is 3.4.1 while the Devuan/Debian repo provides only 3.4.0. Plus, at this time, SimGear does not compile against 3.4.0 so we have to compile it ourselfes.&lt;br /&gt;
&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone --branch OpenSceneGraph-3.4.1 git://github.com/openscenegraph/OpenSceneGraph.git OpenSceneGraph.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-osg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-osg&lt;br /&gt;
 cmake -D LIB_POSTFIX=&amp;quot;&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/OpenSceneGraph.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=116822</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=116822"/>
		<updated>2018-12-16T02:50:15Z</updated>

		<summary type="html">&lt;p&gt;Flughund: note about libplib-dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.3|2018.3]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (ASCII). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev          libopenscenegraph-dev   qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev           libqt5opengl5-dev       qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev   libqt5svg5-dev          qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev          libxi-dev               qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev       libxmu-dev              qttools5-dev \&lt;br /&gt;
   libglew-dev            pkg-config \&lt;br /&gt;
   libopenal-dev          qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source. In this case &amp;quot;libplib-dev&amp;quot; ''must not'' be installed!&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=116584</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=116584"/>
		<updated>2018-10-30T18:34:28Z</updated>

		<summary type="html">&lt;p&gt;Flughund: download_and_compile.sh no worky on debian, hence removing the link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.3|2018.3]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (ASCII). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev          libopenscenegraph-dev   qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev           libqt5opengl5-dev       qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev   libqt5svg5-dev          qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev          libxi-dev               qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev       libxmu-dev              qttools5-dev \&lt;br /&gt;
   libglew-dev            pkg-config \&lt;br /&gt;
   libopenal-dev          qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Template:Building&amp;diff=116371</id>
		<title>Template:Building</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Template:Building&amp;diff=116371"/>
		<updated>2018-10-15T00:18:13Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Added Devuan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name  = Building&lt;br /&gt;
| title = Building/Compiling&lt;br /&gt;
| listclass = hlist&lt;br /&gt;
&lt;br /&gt;
| group1 = FlightGear&lt;br /&gt;
| list1 = &lt;br /&gt;
* [[Building Flightgear|Flightgear]] ([[Building_Flightgear_-_Debian|Debian]]/[[Building_FlightGear_-_Devuan|Devuan]]/[[Building_Flightgear_-_Gentoo|Gentoo]]/[[Building_FlightGear_-_Linux|Linux]]/[[Ubuntu]]/[[Building using CMake - Windows|Windows]])&lt;br /&gt;
* [[Howto: Build FlightGear with NetBeans using CMake|FlightGear with NetBeans using CMake]]&lt;br /&gt;
* [[Building FlightGear - Cross Compiling]]&lt;br /&gt;
| group2 = TerraGear&lt;br /&gt;
| list2 =&lt;br /&gt;
* [[Building Terragear|TerraGear]] ([[Building terragear-cs in Ubuntu 64|Ubuntu 64]])&lt;br /&gt;
&lt;br /&gt;
| group3 = Related&lt;br /&gt;
| list3 =&lt;br /&gt;
* [[Tools of the Trade]]&lt;br /&gt;
* [[OpenSceneGraph]]&lt;br /&gt;
* [[FlightGear Git]]&lt;br /&gt;
}}&amp;lt;includeonly&amp;gt;{{main other|[[Category:Building from source]]}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Informative template|1=&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== Goal ==&lt;br /&gt;
This template can be used at the bottom of articles describing how to build FlightGear and related software from source.&lt;br /&gt;
&lt;br /&gt;
Adding this template to a page in the main (article) namespace will automatically add [[:Category:Building from source]] to that page.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Place the template at the bottom of the articles, just before the category and language links.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{building}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Navigation templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=116370</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=116370"/>
		<updated>2018-10-15T00:13:11Z</updated>

		<summary type="html">&lt;p&gt;Flughund: update for 2018.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.3|2018.3]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (ASCII). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev          libopenscenegraph-dev   qml-module-qtquick-window2 \&lt;br /&gt;
   libboost-dev           libqt5opengl5-dev       qt5-default \&lt;br /&gt;
   libcurl4-openssl-dev   libqt5svg5-dev          qtbase5-private-dev \&lt;br /&gt;
   libdbus-1-dev          libxi-dev               qtdeclarative5-private-dev \&lt;br /&gt;
   libfreetype6-dev       libxmu-dev              qttools5-dev \&lt;br /&gt;
   libglew-dev            pkg-config \&lt;br /&gt;
   libopenal-dev          qml-module-qtquick2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_BUILD_TYPE=Release \&lt;br /&gt;
       -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=115565</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=115565"/>
		<updated>2018-07-07T23:51:53Z</updated>

		<summary type="html">&lt;p&gt;Flughund: update on dependencies: libqt5svg5-dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.2|2018.2]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (Ascii). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev       libboost-dev   libcurl4-openssl-dev   libdbus-1-dev \&lt;br /&gt;
   libfreetype6-dev    libglew-dev    libopenal-dev  libopenscenegraph-dev \&lt;br /&gt;
   libqt5opengl5-dev   libqt5svg5-dev libxi-dev      libxmu-dev \&lt;br /&gt;
   pkg-config          qml-module-qtquick2           qml-module-qtquick-window2 \&lt;br /&gt;
   qt5-default         qtbase5-private-dev           qtdeclarative5-private-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; \&lt;br /&gt;
       $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=115168</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=115168"/>
		<updated>2018-05-23T23:17:39Z</updated>

		<summary type="html">&lt;p&gt;Flughund: update for 2018.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.2|2018.2]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (Ascii). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev       libboost-dev   libcurl4-openssl-dev   libdbus-1-dev \&lt;br /&gt;
   libfreetype6-dev    libglew-dev    libopenal-dev  libopenscenegraph-dev \&lt;br /&gt;
   libqt5opengl5-dev   libxi-dev      libxmu-dev             pkg-config \&lt;br /&gt;
   qml-module-qtquick2                qml-module-qtquick-window2 \&lt;br /&gt;
   qt5-default         qtbase5-private-dev      qtdeclarative5-private-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; \&lt;br /&gt;
       $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=115046</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=115046"/>
		<updated>2018-04-27T14:38:09Z</updated>

		<summary type="html">&lt;p&gt;Flughund: update dependencies (for qt-launcher)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.1|2018.1]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (Ascii). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev       libboost-dev   libcurl4-openssl-dev   libdbus-1-dev \&lt;br /&gt;
   libfreetype6-dev    libglew-dev    libopenal-dev  libopenscenegraph-dev \&lt;br /&gt;
   libqt5opengl5-dev   libxi-dev      libxmu-dev             pkg-config \&lt;br /&gt;
   qml-module-qtquick2                qml-module-qtquick-window2 \&lt;br /&gt;
   qt5-default         qtbase5-private-dev      qtdeclarative5-private-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; \&lt;br /&gt;
       $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=114869</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=114869"/>
		<updated>2018-04-05T23:11:35Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update for FG 2018.1 and to Devuan Ascii&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; ([[Changelog_2018.1|2018.1]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | Next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (Ascii). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probably apply on [https://debian.org/ Debian] GNU/Linux Stretch, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands will cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install cmake g++ gcc git make sed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev       libboost-dev   libcurl4-openssl-dev   libdbus-1-dev \&lt;br /&gt;
   libfreetype6-dev    libglew-dev    libopenal-dev  libopenscenegraph-dev \&lt;br /&gt;
   libqt5opengl5-dev   libxi-dev      libxmu-dev             pkg-config \&lt;br /&gt;
   qt5-default         qtbase5-private-dev      qtdeclarative5-private-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2018.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; \&lt;br /&gt;
       $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2018.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/share/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;Next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir -p $FG_INSTALL_DIR/share &amp;amp;&amp;amp; cd $FG_INSTALL_DIR/share&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd fgdata&lt;br /&gt;
 git checkout release/2018.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Building}}&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Default_head-up_display&amp;diff=113872</id>
		<title>Default head-up display</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Default_head-up_display&amp;diff=113872"/>
		<updated>2018-01-15T09:40:27Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Typo, removed &amp;quot;'&amp;quot; from &amp;quot;HUD's&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The HUD system will one day be replaced by a [[Canvas HUD]] system.}}&lt;br /&gt;
&lt;br /&gt;
The {{Wikipedia|Head-up display|'''Head-up display'''}} (HUD) is an important instrument in modern, mostly military, cockpits. FlightGear provides a XML-based system to relatively easily create HUDs for aircraft such as the [[F-14B]] and [[F-16]].&lt;br /&gt;
&lt;br /&gt;
However, this article's focus is on FlightGear's default head-up displays. Those are available for any craft which does not include its own set. Have a look at [[#Further Information|Further Information]] if you're planning to create a HUD.&lt;br /&gt;
&lt;br /&gt;
Activate the HUD with {{key press|h}}. Pressing it repeatedly moves through the configured colours and turns it off again. To change the brightness, press {{key press|Shift|h}}. Press {{key press|Shift|i}} to go through the available HUDs. Press {{key press|i}} to switch back to the first one at any time. Have in mind that some aircraft do assign one or more of those keys differently and therefore one or more function/s is/are missing on them.&lt;br /&gt;
&lt;br /&gt;
Some of the head-up display's options can be altered in the menu: &amp;lt;code&amp;gt;View → Adjust HUD Properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_overview.png|thumb|420px|Huds/default.xml]]&lt;br /&gt;
[[File:HUD_minimal_overview.png|thumb|420px|Huds/minimal.xml]]&lt;br /&gt;
[[File:HUD_NTPS_overview.png|thumb|420px|Huds/NTPS.xml]]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
=== Control inputs ===&lt;br /&gt;
; [[Aileron]]&lt;br /&gt;
: Monitors the bearing of the control input on the aileron's axis. Attached along the upper side is the indicator for the trim input on that axis.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/aileron&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/aileron-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Elevator]]&lt;br /&gt;
: Monitors the bearing of the control input on the elevator's axis. Attached to the left the trim on this axis.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/elevator&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/elevator-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Rudder]]&lt;br /&gt;
: Monitors the bearing of the control input on the rudder's axis. Attached to the bottom the trim input.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/rudder&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/rudder-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Throttle&lt;br /&gt;
: Monitors the throttle input axis.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/controls/engines/engine/throttle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instruments ===&lt;br /&gt;
; [[AMSL]] (Height &amp;lt;u&amp;gt;a&amp;lt;/u&amp;gt;bove &amp;lt;u&amp;gt;m&amp;lt;/u&amp;gt;ean &amp;lt;u&amp;gt;s&amp;lt;/u&amp;gt;ea &amp;lt;u&amp;gt;l&amp;lt;/u&amp;gt;evel)&lt;br /&gt;
: Current altitude relative to sea level in feet (ft) (1 ft = 30.48 cm).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/position/altitude-ft&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; g-load&lt;br /&gt;
: The {{Wikipedia|G-force}} appealing to the pilot - to avoid black-/redout.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/accelerations/pilot/z-accel-fps_sec&amp;lt;/code&amp;gt; with factor &amp;lt;tt&amp;gt;-0.03108095&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Avionics and Instruments#DirectionalGyro|Gyrocompass]]&lt;br /&gt;
: This is an ideal version of a gyrocompass without the drawbacks of a real one. It shows heading of the aircraft relative to the geographical North Pole (true north) in degree (360 degree scale).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/orientation/heading-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[KIAS]] ('''K'''nots '''I'''ndicated '''A'''ir'''s'''peed)&lt;br /&gt;
: Current speed relating to the ambient air in knot/knots (kt/kts) (1 kt = 1.151 mph = 1.852 km/h).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/velocities/airspeed-kt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Latitude / Longitude&lt;br /&gt;
: Current location according to the {{Wikipedia|geographic coordinate system}}.&lt;br /&gt;
: To change the format of the displayed coordinates, go to &amp;lt;tt&amp;gt;Autopilot&amp;lt;/tt&amp;gt; --&amp;gt; &amp;lt;tt&amp;gt;Set Lat/Lon-format&amp;lt;/tt&amp;gt;.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/position/latitude-string&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/position/longitude-string&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pitch ladder&lt;br /&gt;
: Displays the aircraft's pitch and roll relative to the ground's level/horizontal in degree. It's used as an artificial horizon ([[Avionics and Instruments#Attitude Indicator|Attitude indicator]]).&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/orientation/roll-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/orientation/pitch-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Radio altimeter&lt;br /&gt;
: Shows current altitude [[above ground level]] (AGL) in feet. Relating to the location of the aircraft's radio altimeter, it's not zero if the aircraft is on the ground.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/position/altitude-agl-ft&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Turn-bank-indicator&lt;br /&gt;
: [[Avionics and Instruments#Turn Coordinator|Turn Coordinator]]&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/orientation/roll-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/orientation/side-slip-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_autopilot.jpg|thumb|420px|HUD autopilot]]&lt;br /&gt;
=== [[Autopilot]] ===&lt;br /&gt;
If the autopilot is active the HUD displays its settings. For each active function (heading, altitude and speed) a box will appear below the gyrocompass containing information on its mode and, if existent, the associated value.&lt;br /&gt;
; Heading control&lt;br /&gt;
: Whether it is active or not and on which mode it operates is determined by the content of the  &amp;lt;code&amp;gt;/autopilot/locks/heading&amp;lt;/code&amp;gt; property.&lt;br /&gt;
: The values are taken from &amp;lt;code&amp;gt;/autopilot/settings/heading-bug-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/true-heading-deg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Altitude control&lt;br /&gt;
: Active mode:	&amp;lt;code&amp;gt;/autopilot/locks/altitude&amp;lt;/code&amp;gt;&lt;br /&gt;
: Their values: &amp;lt;code&amp;gt;/autopilot/settings/target-altitude-ft&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/autopilot/settings/vertical-speed-fpm&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/target-agl-ft&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Speed control&lt;br /&gt;
: Active mode: &amp;lt;code&amp;gt;/autopilot/locks/speed&amp;lt;/code&amp;gt;&lt;br /&gt;
: Their values: &amp;lt;code&amp;gt;/autopilot/settings/target-speed-kt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/target-speed-mach&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_gps.jpg|thumb|420px|HUD GPS]]&lt;br /&gt;
=== [[GPS]] ===&lt;br /&gt;
The upper left hand corner shows the most important information on the actual state of the GPS. Namely these are (line by line):&lt;br /&gt;
: the mode the GPS operates in and the active waypoint's identifier.&lt;br /&gt;
: the distance &amp;quot;D&amp;quot; (in nautical miles, nm) and the calculated time to this waypoint &amp;quot;TTW&amp;quot;.&lt;br /&gt;
: the bearing &amp;quot;BRG&amp;quot; to the active waypoint and the course deviation &amp;quot;XTR&amp;quot; based on the leg from the previous waypoint.&lt;br /&gt;
: the current speed relative to the ground &amp;quot;GS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Big fat arrow ===&lt;br /&gt;
Remains of a going to be useful instrument.&lt;br /&gt;
: To get rid of it, remove or comment &amp;quot;runway.xml&amp;quot; from/in &amp;lt;tt&amp;gt;$FG_ROOT/Huds/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=Huds/default.xml;hb=HEAD default.xml]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
: To make it point to the airport selected by menu item &amp;quot;Tower Position&amp;quot;, apply patches as shown [http://sourceforge.net/mailarchive/message.php?msg_id=30422572 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Information ==&lt;br /&gt;
HUDs may be replaced or added by changing or adding their paths in &amp;lt;tt&amp;gt;preferences.xml&amp;lt;/tt&amp;gt; or by setting the paths as command line options. To change the order of the existing ones the options would be: &amp;lt;code&amp;gt;--prop:/sim/hud/path[1]=Huds/minimal.xml&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;--prop:/sim/hud/path[2]=Huds/default.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you consider to create your own HUD have a look at [[Canvas HUD]] first.&lt;br /&gt;
&lt;br /&gt;
The basic settings regarding to any HUD are set in &amp;lt;tt&amp;gt;$FG_ROOT/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=preferences.xml;hb=HEAD preferences.xml]&amp;lt;/tt&amp;gt;. Search the file for the &amp;lt;tt&amp;gt;&amp;lt;hud&amp;gt;&amp;lt;/tt&amp;gt;-tag and you will find a list of properties.&lt;br /&gt;
&lt;br /&gt;
The setup of the default HUD is defined at &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Huds/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=Huds/default.xml;hb=HEAD default.xml]&amp;lt;/tt&amp;gt; and documentation can be found at &amp;lt;tt&amp;gt;$FG_ROOT/Docs/[https://sourceforge.net/p/flightgear/fgdata/ci/next/tree/Docs/README.hud README.hud]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional HUDs ==&lt;br /&gt;
; Generic helicopter HUD&lt;br /&gt;
: This is a generic HUD for helicopters, inspired by MIL-STD 1295A and the AH-64A IHADSS symbology. [http://stefan.gofferje.net/downloads/flightgear/file/6-generic-helicopter-hud Download]&lt;br /&gt;
&lt;br /&gt;
; HeliHUD&lt;br /&gt;
: Designed to fly helicopters in Helicopter View it is also handy for any craft with a not yet finished cockpit. It also contains a minimalistic HUD only showing some navigational information such as compass and GPS. The [http://beggabaur.rocks/fgfs/helihud_0.3.tar.bz2 download] contains instructions and specs.&lt;br /&gt;
&lt;br /&gt;
; V(MX)-22 Osprey HUD&lt;br /&gt;
: [http://stefan.gofferje.net/downloads/flightgear/file/1-hud-for-vmx-22-osprey Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=111466</id>
		<title>FlightGear IRC channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_IRC_channel&amp;diff=111466"/>
		<updated>2017-10-28T21:14:38Z</updated>

		<summary type="html">&lt;p&gt;Flughund: bring list of hosts up to date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''FlightGear IRC Network''' is an online system that will allow you to talk to a lot of people around the world and is related to everything about [[FlightGear]]. It's mostly used by developers, but it is also a good place to ask for help if you are having a question.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the network ==&lt;br /&gt;
It consists of localised servers that are all linked up to form a seamless chat network so if you are based in England you would connect to a nearby server in England and you would see exactly the same people as someone connecting to a server in the USA.&lt;br /&gt;
&lt;br /&gt;
To connect to the IRCnet network you first need a suitable client. For users of Mozilla browsers (like Firefox), the plugin [https://addons.mozilla.org/en/firefox/addon/16 ChatZilla] is surely a good option. You can also use [http://www.xchat.org/ XChat] (Linux and Windows), [http://sourceforge.net/projects/xchataqua/ X-Chat Aqua] (X Chat Mac), [http://www.silverex.org/ SilverEx] (X Chat windows Free Build),  [http://www.pidgin.im/ Pidgin], [http://colloquy.info/ Colloquy] (for Mac), [http://www.mirc.com/ mIRC] or any other client.&lt;br /&gt;
&lt;br /&gt;
When you first login to the network you must pick yourself a unique nickname for the current chat session. Nicknames can be up to 31 characters in length and contain numbers and some punctuation characters. Some examples of nicknames you can use are:&lt;br /&gt;
&lt;br /&gt;
* Fred&lt;br /&gt;
* BIG_fred&lt;br /&gt;
* ^Fred^&lt;br /&gt;
* Fred-&lt;br /&gt;
* ^Fred&lt;br /&gt;
* fred007&lt;br /&gt;
&lt;br /&gt;
It doesn't matter about capital or lower case letters in the nickname since they are treated the same when people want to contact you and there are some weird and obscure rules about nicknames such as them not being able to begin with a &amp;quot;-&amp;quot; character. Most of these rules have no rhyme nor reason to them but we didn't write the software, we just have to try and tell people how to use it. Have an experiment and see what suits you best.&lt;br /&gt;
&lt;br /&gt;
Once you found your personal unique nickname you may want to register it with [[#Network_Services|NickServ]] (see below).&lt;br /&gt;
&lt;br /&gt;
== Official hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Host !! Location&lt;br /&gt;
|-&lt;br /&gt;
| de.irc.flightgear.org&lt;br /&gt;
| Germany&lt;br /&gt;
|-&lt;br /&gt;
| irc.flightgear.org&lt;br /&gt;
| currently an alias for de.irc.flightgear.org&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''port''' to connect to is 6667 (or 6659 for SSL) for each server.&lt;br /&gt;
&lt;br /&gt;
These servers are interconnected to form the FlightGear IRC network. Please choose the host closest to you geographically. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The FlightGear IRC network has several channels, some of which are listed below. To obtain a real list, use the IRC command &amp;quot;/list&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Use&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Main channel (English)&lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-blender&lt;br /&gt;
| [[Blender]] &lt;br /&gt;
|-&lt;br /&gt;
| #flightgearDE&lt;br /&gt;
| Deutschsprachiger FlightGear-Kanal (German-speaking channel)&lt;br /&gt;
|-&lt;br /&gt;
| #flightgearFR&lt;br /&gt;
| FlightGear Channel for French Speaking &lt;br /&gt;
|-&lt;br /&gt;
| #flightgearNL&lt;br /&gt;
| FlightGear Channel for Dutch Speaking &lt;br /&gt;
|-&lt;br /&gt;
| #fg_school&lt;br /&gt;
| [[FlightGear Flight Academy|Flight School]] &lt;br /&gt;
|-&lt;br /&gt;
| #fgms&lt;br /&gt;
| [[fgms]] related stuff&lt;br /&gt;
|-&lt;br /&gt;
| #airliners&lt;br /&gt;
| IFR Navigation Squawk &lt;br /&gt;
|-&lt;br /&gt;
| #fg_canteen&lt;br /&gt;
| Off topic community &lt;br /&gt;
|-&lt;br /&gt;
| #fg-ru&lt;br /&gt;
| Russian Flightgear Community&lt;br /&gt;
|-&lt;br /&gt;
| #wiki&lt;br /&gt;
| Wiki &lt;br /&gt;
|-&lt;br /&gt;
| #flightgear-forum&lt;br /&gt;
| Forum &lt;br /&gt;
|-&lt;br /&gt;
| #help&lt;br /&gt;
| general help on IRC&lt;br /&gt;
|-&lt;br /&gt;
| #staffers&lt;br /&gt;
| Server Admins&lt;br /&gt;
|-&lt;br /&gt;
| #flyingclub&lt;br /&gt;
| [[FlightGear Flying Club]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Network Services ==&lt;br /&gt;
=== NickServ ===&lt;br /&gt;
NickServ allows you to &amp;quot;register&amp;quot; a nickname and prevent others from using it. The following commands allow for registration and maintenance of nicknames; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
Some of the common commands are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GROUP&lt;br /&gt;
| Adds a nickname to your account.&lt;br /&gt;
|-&lt;br /&gt;
| IDENTIFY&lt;br /&gt;
| Identifies to services for a nickname.&lt;br /&gt;
|-&lt;br /&gt;
| GHOST&lt;br /&gt;
| Reclaims use of a nickname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This service is intended to provide a way for IRC users to ensure their identity is not compromised. It is ''not'' intended to facilitate &amp;quot;stealing&amp;quot; of nicknames or other malicious actions.  Abuse of NickServ will result in, at minimum, loss of the abused nickname(s).&lt;br /&gt;
&lt;br /&gt;
=== ChanServ ===&lt;br /&gt;
ChanServ allows you to register and control various aspects of channels.  ChanServ can often prevent malicious users from &amp;quot;taking over&amp;quot; channels by limiting who is allowed channel operator privileges. Some available commands are listed below; to use them, type&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
For more information on a specific command, type:&lt;br /&gt;
&lt;br /&gt;
 /msg ChanServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| REGISTER&lt;br /&gt;
| Registers a channel.&lt;br /&gt;
|-&lt;br /&gt;
| RECOVER&lt;br /&gt;
| Regain control of your channel.&lt;br /&gt;
|-&lt;br /&gt;
| FLAGS&lt;br /&gt;
| Manipulates specific permissions on a channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== MemoServ ===&lt;br /&gt;
MemoServ is a utility allowing IRC users to send short messages to other IRC users, whether they are online at the time or not.  Both the sender's nickname and the target nickname must be registered in order to send a memo.&lt;br /&gt;
&lt;br /&gt;
MemoServ's commands include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| READ&lt;br /&gt;
| Reads a memo.&lt;br /&gt;
|-&lt;br /&gt;
| SEND&lt;br /&gt;
| Sends a memo to a user.&lt;br /&gt;
|-&lt;br /&gt;
| SENDGROUP&lt;br /&gt;
| Sends a memo to all members on a group.&lt;br /&gt;
|-&lt;br /&gt;
| SENDOPS&lt;br /&gt;
| Sends a memo to all ops on a channel.&lt;br /&gt;
|-&lt;br /&gt;
| DELETE&lt;br /&gt;
| Deletes memos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For help on any of the above commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP ''COMMAND''&lt;br /&gt;
&lt;br /&gt;
To see a list of all available MemoServ commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg MemoServ HELP&lt;br /&gt;
&lt;br /&gt;
=== HostServ ===&lt;br /&gt;
HostServ allows users to request a virtual hostname. Normally we only allow IPs to be shown on a users&lt;br /&gt;
connection (so no dns lookups are made upon a new connection). To hide your host to other users you are&lt;br /&gt;
free to select a vhost from a predefined list (or a uniquely requested one) via hostserv. In that case&lt;br /&gt;
your selected hostname will be shown to others instead of your real IP.&lt;br /&gt;
&lt;br /&gt;
To see the list of all available commands, type:&lt;br /&gt;
&lt;br /&gt;
 /msg HostServ HELP&lt;br /&gt;
&lt;br /&gt;
Some commands of interest are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! IRC Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| OFFERLIST&lt;br /&gt;
| Lists all available vhosts.&lt;br /&gt;
|-&lt;br /&gt;
| TAKE&lt;br /&gt;
| Take an offered vhost for use.&lt;br /&gt;
|-&lt;br /&gt;
| REQUEST&lt;br /&gt;
| Requests new virtual hostname for current nick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For further help type &amp;lt;tt&amp;gt;'''/msg ''SERVICE'' help'''&amp;lt;/tt&amp;gt; (replace &amp;lt;tt&amp;gt;''SERVICE''&amp;lt;/tt&amp;gt; with the name of the service)&lt;br /&gt;
&lt;br /&gt;
== Other hosts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network !! Channel !! Description&lt;br /&gt;
|-&lt;br /&gt;
| irc.freenode.net&lt;br /&gt;
| #flightgear&lt;br /&gt;
| Only for emergencies.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to get in there with ChatZilla ==&lt;br /&gt;
[[File:IRC-ChatZilla.jpg|thumb|ChatZilla Client area]]&lt;br /&gt;
When using ChatZilla, go to your Mozilla/Firefox browser and enter [irc://mpserver12.flightgear.org irc://mpserver12.flightgear.org]. When ChatZilla has connected to the host, click &amp;quot;IRC&amp;quot; and &amp;quot;Join channel...&amp;quot;. Pick the preferred channel.&lt;br /&gt;
&lt;br /&gt;
To get directly to the main channel with ChatZilla, you can also enter [irc://mpserver12.flightgear.org/flightgear irc://mpserver12.flightgear.org/flightgear] in your browser.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.ircbeginner.com/ General information about IRC]&lt;br /&gt;
* [http://www.ircbeginner.com/ircinfo/ircc-commands.html General IRC commands]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=110941</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=110941"/>
		<updated>2017-10-10T11:08:48Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Update for 2017.3; other plib repo; syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;stable&amp;lt;/u&amp;gt; ([[Changelog_2017.3|2017.3]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (&amp;lt;u&amp;gt;Jessie&amp;lt;/u&amp;gt;). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probabaly apply on [https://debian.org/ Debian] GNU/Linux Jessie, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]]. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands may cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install automake cmake coreutils g++ gcc git make sed subversion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev   libboost-dev      libcurl4-openssl-dev  libdbus-1-dev \&lt;br /&gt;
   libfltk1.3-dev  libglew-dev       libgtkglext1-dev      libjpeg62-turbo-dev \&lt;br /&gt;
   libopenal-dev   libopenscenegraph-dev                   libqt5opengl5-dev \&lt;br /&gt;
   librsvg2-dev    libxml2-dev       qt5-default           qtdeclarative5-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
: If &amp;quot;libjpeg62-turbo-dev&amp;quot; breaks package dependencies, just install one of the other versions' -dev.&lt;br /&gt;
: Add &amp;quot;libudev-dev&amp;quot; if you need FG's feature &amp;lt;code&amp;gt;-D EVENT_INPUT=ON&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;. &amp;lt;!--For &amp;lt;u&amp;gt;Wheezy&amp;lt;/u&amp;gt; additionally &amp;quot;libboost-dev&amp;quot;, &amp;quot;libopenthreads-dev&amp;quot; and &amp;quot;libopenscenegraph-dev&amp;quot;.--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
osg: libxml2-dev libcurl4-openssl-dev libgtkglext1-dev libopenal-dev libpng12-dev librsvg2-dev libtiff4-dev&lt;br /&gt;
sg: libalut-dev libboost1.42-dev libsvn-dev&lt;br /&gt;
fg: freeglut3-dev (libfltk1.1-dev (für fgadmin) fluid) (libudev-dev)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.5 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
While just installing package &amp;quot;libplib-dev&amp;quot; should work, it's  [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html recommended] to build it from source.&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git commit --all --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2017.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; \&lt;br /&gt;
       $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2017.3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake CFLAGS=&amp;quot;--std=c++11&amp;quot; -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/fgdata&amp;quot; \&lt;br /&gt;
       -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j$(nproc) &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only: &lt;br /&gt;
 cd $FG_INSTALL_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget http://sourceforge.net/projects/flightgear/files/release-2017.3/FlightGear-2017.3.1-data.tar.bz2/download -O FlightGear-2017.3.1-data.tar.bz2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 tar xjf FlightGear-2017.3.1-data.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd $FG_INSTALL_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110747</id>
		<title>Talk:Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110747"/>
		<updated>2017-10-08T09:40:39Z</updated>

		<summary type="html">&lt;p&gt;Flughund: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I didn't try these instructions recently, but they proved very useful when I first built FG, so thanks for this!&lt;br /&gt;
&lt;br /&gt;
Two remarks:&lt;br /&gt;
* plib being dead upstream, what is the point of building it? I've always used the Debian one for this without any problem (well, actually a fixed local version for joystick deadband management; sid now [https://bugs.debian.org/787464 has the fix] at last, but not stretch, unfortunately).&lt;br /&gt;
* Current FG from next requires these two packages when building with Qt support: qtdeclarative5-private-dev and qml-module-qtquick2 (since [https://sourceforge.net/p/flightgear/flightgear/ci/3a8d3506d651b770e3173841a034e6203528f465/ FG commit 3a8d350], committed on 2017-09-26).&lt;br /&gt;
--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 18:31, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Oy!&lt;br /&gt;
: a) yw&lt;br /&gt;
: b) TBH I am not certain whether the plib step is required anymore, will look into that for the next update (for which I hope to have some spare time in the upcoming days). Last time I've checked it was required since Melchior's commits never went into a release and hence never reached Debian.&lt;br /&gt;
: c) Thanks for reporting the newly required packages, saves myself some research!&lt;br /&gt;
: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 22:27, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: My pleasure. :)&lt;br /&gt;
::&lt;br /&gt;
:: It is true that plib svn has a significant amount of code changes that are not in the orig tarballs used by the Debian packages (at least stretch and sid for sure, probably several older releases too). OTOH, the Debian packages have two security fixes (for CVE-2011-4620 and CVE-2012-4552) and the corresponding patches never got applied in plib's svn repository. :/&lt;br /&gt;
:: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 03:27, 4 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: The [https://sourceforge.net/p/libplib/code/ci/master/tree/ plib repository used by download_and_compile.sh] now has the security fixes, on top of the latest PLIB svn commit (I diffed [https://sourceforge.net/p/libplib/code/ci/1b3b3e1d7689a85a50720f112614022c65d592bb/ Clément's commit 1b3b3e1d] and the [https://sourceforge.net/p/plib/code/HEAD/tree/trunk/ official plib 'trunk'], the only differences are a 'version' file added at the repo root and the CMakeLists.txt files added by Clément).&lt;br /&gt;
::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 04:02, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Yay, that's great news! Thanks a lot! For Saturday they're predicting rain so I probably will have time far an update.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:06, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Do you think it'd be possible to alter the version to 1.8.6 in that repo, too? As suggested by Melchior in https://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html&lt;br /&gt;
:::: AFAICS this would mean altering file &amp;quot;version&amp;quot; and file &amp;quot;src/util/ul.h&amp;quot; line 157.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 21:02, 6 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::: Mmmm, I read that mail and discovered things indeed, but I don't know if we can morally do that. :) Since this is not the official plib repo... it's always very delicate when one has to at least technically fork a project that is not maintained anymore. :/ Otherwise, I have [https://bugs.debian.org/787464 that bugfix] from 2015 too, related to joystick deadband management. Maybe some #define PLIB_FLIGHTGEAR_VARIANT would be cleaner...&lt;br /&gt;
::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 05:41, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::: I don't think we run into problems regarding morality: https://sourceforge.net/p/plib/mailman/message/28580157/&lt;br /&gt;
:::::: Ah, interesting that bug. Always had the feeling something was wrong with the dead band of my simple joystick. Though not sure whether it's the stick itself or if that was because of this bug. Will try that as soon as I rebuild FG.&lt;br /&gt;
:::::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 06:16, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Yeah, my use of the word “morally” was a bit of a joke, of course. Indeed, plib's author gave FG devs much latitude, but no one so far, TTBOMK, said “this is plib-ng [whatever the name] and I am maintaining it.” And distro packages still refer to the historic plib, and FG is not its only user (there is at least TORCS, maybe others)...&lt;br /&gt;
::::::: &lt;br /&gt;
::::::: I'll ask on flightgear-devel.&lt;br /&gt;
::::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 07:58, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: Done, see [https://sourceforge.net/p/flightgear/mailman/message/36067462/ here].&lt;br /&gt;
:::::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 08:50, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: I really appreciate this! I am a total noob when it comes to coding or handling code in any way. And the sed thingy in the plib section bothers me for a long time now. On my local copy of this article I already have applied the changes for the new repo but due to git and cmake it is even more hackish than before. So I was afraid to change it online and preferred to wait and hope for a better solution. Oh, and yes, your assumtion was correct, I am Alex D-HUND AKA flughund AKA debdog.&lt;br /&gt;
:::::::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:32, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::::::: You're welcome. I'm a bit surprised things get that ugly just because of the switch to Git and CMake; you could maybe post your command sequence here. Also, since Clément's repository only *adds* a CMake setup and the security fixes, you should be able to use the old build method too, just replacing an 'svn co' command with a 'git clone' one (and changing the repository address, of course).&lt;br /&gt;
:::::::::&lt;br /&gt;
::::::::: BTW, if you want to return the repository to its pristine state, there are two useful commands: 'git reset --hard' to restore files tracked by Git to their state in HEAD (this is equivalent to 'git reset --hard HEAD') and variants of 'git clean -df'. (use -n to see what would be done without doing it, and see 'git clean --help' for other options). This avoids having to clone the repo more often than needed...&lt;br /&gt;
::::::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 03:21, 8 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::: Well, not exactly ugly, just more hackish and even less user friendly:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone https://git.code.sf.net/p/libplib/code libplib.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd libplib.git&lt;br /&gt;
 echo &amp;quot;1.8.6&amp;quot; &amp;gt; version&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 git add version src/util/ul.h &amp;amp;&amp;amp; git commit --message &amp;quot;Increase tiny version to 6.&amp;quot;&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-plib &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-plib&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/libplib.git&lt;br /&gt;
 make -j2 &amp;amp;&amp;amp; make install&lt;br /&gt;
:::::::::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 05:40, 8 October 2017 (EDT)&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110731</id>
		<title>Talk:Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110731"/>
		<updated>2017-10-07T16:33:19Z</updated>

		<summary type="html">&lt;p&gt;Flughund: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I didn't try these instructions recently, but they proved very useful when I first built FG, so thanks for this!&lt;br /&gt;
&lt;br /&gt;
Two remarks:&lt;br /&gt;
* plib being dead upstream, what is the point of building it? I've always used the Debian one for this without any problem (well, actually a fixed local version for joystick deadband management; sid now [https://bugs.debian.org/787464 has the fix] at last, but not stretch, unfortunately).&lt;br /&gt;
* Current FG from next requires these two packages when building with Qt support: qtdeclarative5-private-dev and qml-module-qtquick2 (since [https://sourceforge.net/p/flightgear/flightgear/ci/3a8d3506d651b770e3173841a034e6203528f465/ FG commit 3a8d350], committed on 2017-09-26).&lt;br /&gt;
--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 18:31, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Oy!&lt;br /&gt;
: a) yw&lt;br /&gt;
: b) TBH I am not certain whether the plib step is required anymore, will look into that for the next update (for which I hope to have some spare time in the upcoming days). Last time I've checked it was required since Melchior's commits never went into a release and hence never reached Debian.&lt;br /&gt;
: c) Thanks for reporting the newly required packages, saves myself some research!&lt;br /&gt;
: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 22:27, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: My pleasure. :)&lt;br /&gt;
::&lt;br /&gt;
:: It is true that plib svn has a significant amount of code changes that are not in the orig tarballs used by the Debian packages (at least stretch and sid for sure, probably several older releases too). OTOH, the Debian packages have two security fixes (for CVE-2011-4620 and CVE-2012-4552) and the corresponding patches never got applied in plib's svn repository. :/&lt;br /&gt;
:: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 03:27, 4 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: The [https://sourceforge.net/p/libplib/code/ci/master/tree/ plib repository used by download_and_compile.sh] now has the security fixes, on top of the latest PLIB svn commit (I diffed [https://sourceforge.net/p/libplib/code/ci/1b3b3e1d7689a85a50720f112614022c65d592bb/ Clément's commit 1b3b3e1d] and the [https://sourceforge.net/p/plib/code/HEAD/tree/trunk/ official plib 'trunk'], the only differences are a 'version' file added at the repo root and the CMakeLists.txt files added by Clément).&lt;br /&gt;
::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 04:02, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Yay, that's great news! Thanks a lot! For Saturday they're predicting rain so I probably will have time far an update.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:06, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Do you think it'd be possible to alter the version to 1.8.6 in that repo, too? As suggested by Melchior in https://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html&lt;br /&gt;
:::: AFAICS this would mean altering file &amp;quot;version&amp;quot; and file &amp;quot;src/util/ul.h&amp;quot; line 157.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 21:02, 6 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::: Mmmm, I read that mail and discovered things indeed, but I don't know if we can morally do that. :) Since this is not the official plib repo... it's always very delicate when one has to at least technically fork a project that is not maintained anymore. :/ Otherwise, I have [https://bugs.debian.org/787464 that bugfix] from 2015 too, related to joystick deadband management. Maybe some #define PLIB_FLIGHTGEAR_VARIANT would be cleaner...&lt;br /&gt;
::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 05:41, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::: I don't think we run into problems regarding morality: https://sourceforge.net/p/plib/mailman/message/28580157/&lt;br /&gt;
:::::: Ah, interesting that bug. Always had the feeling something was wrong with the dead band of my simple joystick. Though not sure whether it's the stick itself or if that was because of this bug. Will try that as soon as I rebuild FG.&lt;br /&gt;
:::::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 06:16, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Yeah, my use of the word “morally” was a bit of a joke, of course. Indeed, plib's author gave FG devs much latitude, but no one so far, TTBOMK, said “this is plib-ng [whatever the name] and I am maintaining it.” And distro packages still refer to the historic plib, and FG is not its only user (there is at least TORCS, maybe others)...&lt;br /&gt;
::::::: &lt;br /&gt;
::::::: I'll ask on flightgear-devel.&lt;br /&gt;
::::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 07:58, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: Done, see [https://sourceforge.net/p/flightgear/mailman/message/36067462/ here].&lt;br /&gt;
:::::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 08:50, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: I really appreciate this! I am a total noob when it comes to coding or handling code in any way. And the sed thingy in the plib section bothers me for a long time now. On my local copy of this article I already have applied the changes for the new repo but due to git and cmake it is even more hackish than before. So I was afraid to change it online and preferred to wait and hope for a better solution. Oh, and yes, your assumtion was correct, I am Alex D-HUND AKA flughund AKA debdog.&lt;br /&gt;
:::::::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:32, 7 October 2017 (EDT)&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110723</id>
		<title>Talk:Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110723"/>
		<updated>2017-10-07T10:16:39Z</updated>

		<summary type="html">&lt;p&gt;Flughund: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I didn't try these instructions recently, but they proved very useful when I first built FG, so thanks for this!&lt;br /&gt;
&lt;br /&gt;
Two remarks:&lt;br /&gt;
* plib being dead upstream, what is the point of building it? I've always used the Debian one for this without any problem (well, actually a fixed local version for joystick deadband management; sid now [https://bugs.debian.org/787464 has the fix] at last, but not stretch, unfortunately).&lt;br /&gt;
* Current FG from next requires these two packages when building with Qt support: qtdeclarative5-private-dev and qml-module-qtquick2 (since [https://sourceforge.net/p/flightgear/flightgear/ci/3a8d3506d651b770e3173841a034e6203528f465/ FG commit 3a8d350], committed on 2017-09-26).&lt;br /&gt;
--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 18:31, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Oy!&lt;br /&gt;
: a) yw&lt;br /&gt;
: b) TBH I am not certain whether the plib step is required anymore, will look into that for the next update (for which I hope to have some spare time in the upcoming days). Last time I've checked it was required since Melchior's commits never went into a release and hence never reached Debian.&lt;br /&gt;
: c) Thanks for reporting the newly required packages, saves myself some research!&lt;br /&gt;
: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 22:27, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: My pleasure. :)&lt;br /&gt;
::&lt;br /&gt;
:: It is true that plib svn has a significant amount of code changes that are not in the orig tarballs used by the Debian packages (at least stretch and sid for sure, probably several older releases too). OTOH, the Debian packages have two security fixes (for CVE-2011-4620 and CVE-2012-4552) and the corresponding patches never got applied in plib's svn repository. :/&lt;br /&gt;
:: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 03:27, 4 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: The [https://sourceforge.net/p/libplib/code/ci/master/tree/ plib repository used by download_and_compile.sh] now has the security fixes, on top of the latest PLIB svn commit (I diffed [https://sourceforge.net/p/libplib/code/ci/1b3b3e1d7689a85a50720f112614022c65d592bb/ Clément's commit 1b3b3e1d] and the [https://sourceforge.net/p/plib/code/HEAD/tree/trunk/ official plib 'trunk'], the only differences are a 'version' file added at the repo root and the CMakeLists.txt files added by Clément).&lt;br /&gt;
::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 04:02, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Yay, that's great news! Thanks a lot! For Saturday they're predicting rain so I probably will have time far an update.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:06, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Do you think it'd be possible to alter the version to 1.8.6 in that repo, too? As suggested by Melchior in https://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html&lt;br /&gt;
:::: AFAICS this would mean altering file &amp;quot;version&amp;quot; and file &amp;quot;src/util/ul.h&amp;quot; line 157.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 21:02, 6 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::: Mmmm, I read that mail and discovered things indeed, but I don't know if we can morally do that. :) Since this is not the official plib repo... it's always very delicate when one has to at least technically fork a project that is not maintained anymore. :/ Otherwise, I have [https://bugs.debian.org/787464 that bugfix] from 2015 too, related to joystick deadband management. Maybe some #define PLIB_FLIGHTGEAR_VARIANT would be cleaner...&lt;br /&gt;
::::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 05:41, 7 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::: I don't think we run into problems regarding morality: https://sourceforge.net/p/plib/mailman/message/28580157/&lt;br /&gt;
:::::: Ah, interesting that bug. Always had the feeling something was wrong with the dead band of my simple joystick. Though not sure whether it's the stick itself or if that was because of this bug. Will try that as soon as I rebuild FG.&lt;br /&gt;
:::::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 06:16, 7 October 2017 (EDT)&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110721</id>
		<title>Talk:Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110721"/>
		<updated>2017-10-07T01:03:20Z</updated>

		<summary type="html">&lt;p&gt;Flughund: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I didn't try these instructions recently, but they proved very useful when I first built FG, so thanks for this!&lt;br /&gt;
&lt;br /&gt;
Two remarks:&lt;br /&gt;
* plib being dead upstream, what is the point of building it? I've always used the Debian one for this without any problem (well, actually a fixed local version for joystick deadband management; sid now [https://bugs.debian.org/787464 has the fix] at last, but not stretch, unfortunately).&lt;br /&gt;
* Current FG from next requires these two packages when building with Qt support: qtdeclarative5-private-dev and qml-module-qtquick2 (since [https://sourceforge.net/p/flightgear/flightgear/ci/3a8d3506d651b770e3173841a034e6203528f465/ FG commit 3a8d350], committed on 2017-09-26).&lt;br /&gt;
--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 18:31, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Oy!&lt;br /&gt;
: a) yw&lt;br /&gt;
: b) TBH I am not certain whether the plib step is required anymore, will look into that for the next update (for which I hope to have some spare time in the upcoming days). Last time I've checked it was required since Melchior's commits never went into a release and hence never reached Debian.&lt;br /&gt;
: c) Thanks for reporting the newly required packages, saves myself some research!&lt;br /&gt;
: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 22:27, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: My pleasure. :)&lt;br /&gt;
::&lt;br /&gt;
:: It is true that plib svn has a significant amount of code changes that are not in the orig tarballs used by the Debian packages (at least stretch and sid for sure, probably several older releases too). OTOH, the Debian packages have two security fixes (for CVE-2011-4620 and CVE-2012-4552) and the corresponding patches never got applied in plib's svn repository. :/&lt;br /&gt;
:: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 03:27, 4 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: The [https://sourceforge.net/p/libplib/code/ci/master/tree/ plib repository used by download_and_compile.sh] now has the security fixes, on top of the latest PLIB svn commit (I diffed [https://sourceforge.net/p/libplib/code/ci/1b3b3e1d7689a85a50720f112614022c65d592bb/ Clément's commit 1b3b3e1d] and the [https://sourceforge.net/p/plib/code/HEAD/tree/trunk/ official plib 'trunk'], the only differences are a 'version' file added at the repo root and the CMakeLists.txt files added by Clément).&lt;br /&gt;
::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 04:02, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Yay, that's great news! Thanks a lot! For Saturday they're predicting rain so I probably will have time far an update.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:06, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Do you think it'd be possible to alter the version to 1.8.6 in that repo, too? As suggested by Melchior in https://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html&lt;br /&gt;
:::: AFAICS this would mean altering file &amp;quot;version&amp;quot; and file &amp;quot;src/util/ul.h&amp;quot; line 157.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 21:02, 6 October 2017 (EDT)&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110712</id>
		<title>Talk:Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110712"/>
		<updated>2017-10-05T16:07:01Z</updated>

		<summary type="html">&lt;p&gt;Flughund: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I didn't try these instructions recently, but they proved very useful when I first built FG, so thanks for this!&lt;br /&gt;
&lt;br /&gt;
Two remarks:&lt;br /&gt;
* plib being dead upstream, what is the point of building it? I've always used the Debian one for this without any problem (well, actually a fixed local version for joystick deadband management; sid now [https://bugs.debian.org/787464 has the fix] at last, but not stretch, unfortunately).&lt;br /&gt;
* Current FG from next requires these two packages when building with Qt support: qtdeclarative5-private-dev and qml-module-qtquick2 (since [https://sourceforge.net/p/flightgear/flightgear/ci/3a8d3506d651b770e3173841a034e6203528f465/ FG commit 3a8d350], committed on 2017-09-26).&lt;br /&gt;
--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 18:31, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Oy!&lt;br /&gt;
: a) yw&lt;br /&gt;
: b) TBH I am not certain whether the plib step is required anymore, will look into that for the next update (for which I hope to have some spare time in the upcoming days). Last time I've checked it was required since Melchior's commits never went into a release and hence never reached Debian.&lt;br /&gt;
: c) Thanks for reporting the newly required packages, saves myself some research!&lt;br /&gt;
: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 22:27, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: My pleasure. :)&lt;br /&gt;
::&lt;br /&gt;
:: It is true that plib svn has a significant amount of code changes that are not in the orig tarballs used by the Debian packages (at least stretch and sid for sure, probably several older releases too). OTOH, the Debian packages have two security fixes (for CVE-2011-4620 and CVE-2012-4552) and the corresponding patches never got applied in plib's svn repository. :/&lt;br /&gt;
:: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 03:27, 4 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: The [https://sourceforge.net/p/libplib/code/ci/master/tree/ plib repository used by download_and_compile.sh] now has the security fixes, on top of the latest PLIB svn commit (I diffed [https://sourceforge.net/p/libplib/code/ci/1b3b3e1d7689a85a50720f112614022c65d592bb/ Clément's commit 1b3b3e1d] and the [https://sourceforge.net/p/plib/code/HEAD/tree/trunk/ official plib 'trunk'], the only differences are a 'version' file added at the repo root and the CMakeLists.txt files added by Clément).&lt;br /&gt;
::: --[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 04:02, 5 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: Yay, that's great news! Thanks a lot! For Saturday they're predicting rain so I probably will have time far an update.&lt;br /&gt;
:::: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 12:06, 5 October 2017 (EDT)&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110697</id>
		<title>Talk:Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:Building_FlightGear_-_Devuan&amp;diff=110697"/>
		<updated>2017-10-04T02:27:41Z</updated>

		<summary type="html">&lt;p&gt;Flughund: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
I didn't try these instructions recently, but they proved very useful when I first built FG, so thanks for this!&lt;br /&gt;
&lt;br /&gt;
Two remarks:&lt;br /&gt;
* plib being dead upstream, what is the point of building it? I've always used the Debian one for this without any problem (well, actually a fixed local version for joystick deadband management; sid now [https://bugs.debian.org/787464 has the fix] at last, but not stretch, unfortunately).&lt;br /&gt;
* Current FG from next requires these two packages when building with Qt support: qtdeclarative5-private-dev and qml-module-qtquick2 (since [https://sourceforge.net/p/flightgear/flightgear/ci/3a8d3506d651b770e3173841a034e6203528f465/ FG commit 3a8d350], committed on 2017-09-26).&lt;br /&gt;
--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 18:31, 3 October 2017 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Oy!&lt;br /&gt;
: a) yw&lt;br /&gt;
: b) TBH I am not certain whether the plib step is required anymore, will look into that for the next update (for which I hope to have some spare time in the upcoming days). Last time I've checked it was required since Melchior's commits never went into a release and hence never reached Debian.&lt;br /&gt;
: c) Thanks for reporting the newly required packages, saves myself some research!&lt;br /&gt;
: --[[User:Flughund|Flughund]] ([[User talk:Flughund|talk]]) 22:27, 3 October 2017 (EDT)&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_172P/info&amp;diff=110455</id>
		<title>Cessna 172P/info</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_172P/info&amp;diff=110455"/>
		<updated>2017-09-20T23:14:39Z</updated>

		<summary type="html">&lt;p&gt;Flughund: removed dual-control as a feature since there is no trace of it in the craft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{infobox aircraft&lt;br /&gt;
| name           = Cessna 172P Skyhawk&lt;br /&gt;
| hangar         = fgdata&lt;br /&gt;
| image          = c172p-thumbnail.jpg&lt;br /&gt;
| image2         = C172p-cockpit2.jpg&lt;br /&gt;
| type           = Civil aircraft/Civil utility aircraft&lt;br /&gt;
| config         = High wing aircraft/Fixed gear aircraft&lt;br /&gt;
| propulsion     = Propeller aircraft/Single-engine aircraft&lt;br /&gt;
| manufacturer   = Cessna&lt;br /&gt;
| authors        = David Megginson/Gilberto Agostinho/Wayne Bragg/Juan Vera del Campo/onox/Fernando Barbosa/Daniel Dubreuil/Jonathan Schellhase/Israel Hernandez/Tuomas Kuosmanen/Anders Gidenstam/Waldo Kitty/algefaen&lt;br /&gt;
| fdm            = JSBSim&lt;br /&gt;
| fgname         = c172p&lt;br /&gt;
| status-fdm     = 4&lt;br /&gt;
| status-systems = 5&lt;br /&gt;
| status-cockpit = 5&lt;br /&gt;
| status-model   = 4&lt;br /&gt;
| ready          = tutorials/checklist&lt;br /&gt;
| devel-repo     = {{github url|user=Juanvvc|repo=c172p-detailed}}&lt;br /&gt;
| download       = {{github zip file|user=Juanvvc|repo=c172p-detailed|full=1}}&lt;br /&gt;
| liverydbid     = 70&lt;br /&gt;
| forumtid       = 25157&lt;br /&gt;
| note           = {{LangSwitch&lt;br /&gt;
                     | en = This is the default FlightGear aircraft and is distributed as part of the base package.&lt;br /&gt;
                     | de = Dies ist das FlightGear Standardflugzeug und im Basispaket der Software enthalten.&lt;br /&gt;
                     | zh = 这是FlightGear的默认机型，并被包括在FlightGear主程序中。&lt;br /&gt;
                   }}&lt;br /&gt;
| navbar         = 1&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
This is the aircraft infobox subpage of the [[Cessna 172P]].&lt;br /&gt;
[[Category:Aircraft infobox documentation]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Robin_DR400_Dauphin/info&amp;diff=110441</id>
		<title>Robin DR400 Dauphin/info</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Robin_DR400_Dauphin/info&amp;diff=110441"/>
		<updated>2017-09-19T20:29:32Z</updated>

		<summary type="html">&lt;p&gt;Flughund: removed dual-control due to no worky&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{infobox aircraft&lt;br /&gt;
| name           = Robin DR400 Dauphin&lt;br /&gt;
| hangar         = fgaddon&lt;br /&gt;
| aircraft       = DR400-dauphin&lt;br /&gt;
| image          = DR400-dauphin.jpg&lt;br /&gt;
| image2         = DR400 Dauphin Rembrandt 02.jpg&lt;br /&gt;
| alt2           = The Robin DR400 Dauphin's cockpit lighting.&lt;br /&gt;
| type           = Sport aircraft/Civil utility aircraft/Glider tug&lt;br /&gt;
| config         = Low wing aircraft&lt;br /&gt;
| propulsion     = Propeller aircraft/Single-engine aircraft&lt;br /&gt;
| manufacturer   = Avions Pierre Robin&lt;br /&gt;
| authors        = Bertrand AUGRAS (3D)/Daniel DUBREUIL (FDM)/Clement de l'Hamaide (3D, Systems, Adaptation)/PAF team&lt;br /&gt;
| fdm            = JSBSIM&lt;br /&gt;
| fgname         = dr400-dauphin&lt;br /&gt;
| status-fdm     = 4&lt;br /&gt;
| status-systems = 4&lt;br /&gt;
| status-cockpit = 5&lt;br /&gt;
| status-model   = 4&lt;br /&gt;
| devel-hangar   = paf&lt;br /&gt;
| ready          = checklist/tutorials/rembrandt&lt;br /&gt;
| navbar         = 1&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
This is the aircraft infobox subpage of the [[Robin DR400 Dauphin]].&lt;br /&gt;
[[Category:Aircraft infobox documentation]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Default_head-up_display&amp;diff=109414</id>
		<title>Default head-up display</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Default_head-up_display&amp;diff=109414"/>
		<updated>2017-07-28T14:06:25Z</updated>

		<summary type="html">&lt;p&gt;Flughund: update link to README.hud&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The HUD system will one day be replaced by a [[Canvas HUD]] system.}}&lt;br /&gt;
&lt;br /&gt;
The {{Wikipedia|Head-up display|'''Head-up display'''}} (HUD) is an important instrument in modern, mostly military, cockpits. FlightGear provides a XML-based system to relatively easily create HUDs for aircraft such as the [[F-14B]] and [[F-16]].&lt;br /&gt;
&lt;br /&gt;
However, this article's focus is on FlightGear's default head-up displays. Those are available for any craft which does not include its own set. Have a look at [[#Further Information|Further Information]] if you're planning to create a HUD.&lt;br /&gt;
&lt;br /&gt;
Activate the HUD with {{key press|h}}. Pressing it repeatedly moves through the configured colours and turns it off again. To change the brightness, press {{key press|Shift|h}}. Press {{key press|Shift|i}} to go through the available HUD's. Press {{key press|i}} to switch back to the first one at any time. Have in mind that some aircraft do assign one or more of those keys differently and therefore one or more function/s is/are missing on them.&lt;br /&gt;
&lt;br /&gt;
Some of the head-up display's options can be altered in the menu: &amp;lt;code&amp;gt;View → Adjust HUD Properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_overview.png|thumb|420px|Huds/default.xml]]&lt;br /&gt;
[[File:HUD_minimal_overview.png|thumb|420px|Huds/minimal.xml]]&lt;br /&gt;
[[File:HUD_NTPS_overview.png|thumb|420px|Huds/NTPS.xml]]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
=== Control inputs ===&lt;br /&gt;
; [[Aileron]]&lt;br /&gt;
: Monitors the bearing of the control input on the aileron's axis. Attached along the upper side is the indicator for the trim input on that axis.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/aileron&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/aileron-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Elevator]]&lt;br /&gt;
: Monitors the bearing of the control input on the elevator's axis. Attached to the left the trim on this axis.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/elevator&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/elevator-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Rudder]]&lt;br /&gt;
: Monitors the bearing of the control input on the rudder's axis. Attached to the bottom the trim input.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/controls/flight/rudder&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/controls/flight/rudder-trim&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Throttle&lt;br /&gt;
: Monitors the throttle input axis.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/controls/engines/engine/throttle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instruments ===&lt;br /&gt;
; [[AMSL]] (Height &amp;lt;u&amp;gt;a&amp;lt;/u&amp;gt;bove &amp;lt;u&amp;gt;m&amp;lt;/u&amp;gt;ean &amp;lt;u&amp;gt;s&amp;lt;/u&amp;gt;ea &amp;lt;u&amp;gt;l&amp;lt;/u&amp;gt;evel)&lt;br /&gt;
: Current altitude relative to sea level in feet (ft) (1 ft = 30.48 cm).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/position/altitude-ft&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; g-load&lt;br /&gt;
: The {{Wikipedia|G-force}} appealing to the pilot - to avoid black-/redout.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/accelerations/pilot/z-accel-fps_sec&amp;lt;/code&amp;gt; with factor &amp;lt;tt&amp;gt;-0.03108095&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[Avionics and Instruments#DirectionalGyro|Gyrocompass]]&lt;br /&gt;
: This is an ideal version of a gyrocompass without the drawbacks of a real one. It shows heading of the aircraft relative to the geographical North Pole (true north) in degree (360 degree scale).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/orientation/heading-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; [[KIAS]] ('''K'''nots '''I'''ndicated '''A'''ir'''s'''peed)&lt;br /&gt;
: Current speed relating to the ambient air in knot/knots (kt/kts) (1 kt = 1.151 mph = 1.852 km/h).&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/velocities/airspeed-kt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Latitude / Longitude&lt;br /&gt;
: Current location according to the {{Wikipedia|geographic coordinate system}}.&lt;br /&gt;
: To change the format of the displayed coordinates, go to &amp;lt;tt&amp;gt;Autopilot&amp;lt;/tt&amp;gt; --&amp;gt; &amp;lt;tt&amp;gt;Set Lat/Lon-format&amp;lt;/tt&amp;gt;.&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/position/latitude-string&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/position/longitude-string&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pitch ladder&lt;br /&gt;
: Displays the aircraft's pitch and roll relative to the ground's level/horizontal in degree. It's used as an artificial horizon ([[Avionics and Instruments#Attitude Indicator|Attitude indicator]]).&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/orientation/roll-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/orientation/pitch-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Radio altimeter&lt;br /&gt;
: Shows current altitude [[above ground level]] (AGL) in feet. Relating to the location of the aircraft's radio altimeter, it's not zero if the aircraft is on the ground.&lt;br /&gt;
: Property: &amp;lt;code&amp;gt;/position/altitude-agl-ft&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Turn-bank-indicator&lt;br /&gt;
: [[Avionics and Instruments#Turn Coordinator|Turn Coordinator]]&lt;br /&gt;
: Properties: &amp;lt;code&amp;gt;/orientation/roll-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/orientation/side-slip-deg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_autopilot.jpg|thumb|420px|HUD autopilot]]&lt;br /&gt;
=== [[Autopilot]] ===&lt;br /&gt;
If the autopilot is active the HUD displays its settings. For each active function (heading, altitude and speed) a box will appear below the gyrocompass containing information on its mode and, if existent, the associated value.&lt;br /&gt;
; Heading control&lt;br /&gt;
: Whether it is active or not and on which mode it operates is determined by the content of the  &amp;lt;code&amp;gt;/autopilot/locks/heading&amp;lt;/code&amp;gt; property.&lt;br /&gt;
: The values are taken from &amp;lt;code&amp;gt;/autopilot/settings/heading-bug-deg&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/true-heading-deg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Altitude control&lt;br /&gt;
: Active mode:	&amp;lt;code&amp;gt;/autopilot/locks/altitude&amp;lt;/code&amp;gt;&lt;br /&gt;
: Their values: &amp;lt;code&amp;gt;/autopilot/settings/target-altitude-ft&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/autopilot/settings/vertical-speed-fpm&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/target-agl-ft&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Speed control&lt;br /&gt;
: Active mode: &amp;lt;code&amp;gt;/autopilot/locks/speed&amp;lt;/code&amp;gt;&lt;br /&gt;
: Their values: &amp;lt;code&amp;gt;/autopilot/settings/target-speed-kt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/autopilot/settings/target-speed-mach&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:HUD_default_gps.jpg|thumb|420px|HUD GPS]]&lt;br /&gt;
=== [[GPS]] ===&lt;br /&gt;
The upper left hand corner shows the most important information on the actual state of the GPS. Namely these are (line by line):&lt;br /&gt;
: the mode the GPS operates in and the active waypoint's identifier.&lt;br /&gt;
: the distance &amp;quot;D&amp;quot; (in nautical miles, nm) and the calculated time to this waypoint &amp;quot;TTW&amp;quot;.&lt;br /&gt;
: the bearing &amp;quot;BRG&amp;quot; to the active waypoint and the course deviation &amp;quot;XTR&amp;quot; based on the leg from the previous waypoint.&lt;br /&gt;
: the current speed relative to the ground &amp;quot;GS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Big fat arrow ===&lt;br /&gt;
Remains of a going to be useful instrument.&lt;br /&gt;
: To get rid of it, remove or comment &amp;quot;runway.xml&amp;quot; from/in &amp;lt;tt&amp;gt;$FG_ROOT/Huds/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=Huds/default.xml;hb=HEAD default.xml]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
: To make it point to the airport selected by menu item &amp;quot;Tower Position&amp;quot;, apply patches as shown [http://sourceforge.net/mailarchive/message.php?msg_id=30422572 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Information ==&lt;br /&gt;
HUDs may be replaced or added by changing or adding their paths in &amp;lt;tt&amp;gt;preferences.xml&amp;lt;/tt&amp;gt; or by setting the paths as command line options. To change the order of the existing ones the options would be: &amp;lt;code&amp;gt;--prop:/sim/hud/path[1]=Huds/minimal.xml&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;--prop:/sim/hud/path[2]=Huds/default.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you consider to create your own HUD have a look at [[Canvas HUD]] first.&lt;br /&gt;
&lt;br /&gt;
The basic settings regarding to any HUD are set in &amp;lt;tt&amp;gt;$FG_ROOT/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=preferences.xml;hb=HEAD preferences.xml]&amp;lt;/tt&amp;gt;. Search the file for the &amp;lt;tt&amp;gt;&amp;lt;hud&amp;gt;&amp;lt;/tt&amp;gt;-tag and you will find a list of properties.&lt;br /&gt;
&lt;br /&gt;
The setup of the default HUD is defined at &amp;lt;tt&amp;gt;[[$FG_ROOT]]/Huds/[http://mapserver.flightgear.org/git/?p=fgdata;a=blob_plain;f=Huds/default.xml;hb=HEAD default.xml]&amp;lt;/tt&amp;gt; and documentation can be found at &amp;lt;tt&amp;gt;$FG_ROOT/Docs/[https://sourceforge.net/p/flightgear/fgdata/ci/next/tree/Docs/README.hud README.hud]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional HUDs ==&lt;br /&gt;
; Generic helicopter HUD&lt;br /&gt;
: This is a generic HUD for helicopters, inspired by MIL-STD 1295A and the AH-64A IHADSS symbology. [http://stefan.gofferje.net/downloads/flightgear/file/6-generic-helicopter-hud Download]&lt;br /&gt;
&lt;br /&gt;
; HeliHUD&lt;br /&gt;
: Designed to fly helicopters in Helicopter View it is also handy for any craft with a not yet finished cockpit. It also contains a minimalistic HUD only showing some navigational information such as compass and GPS. The [http://beggabaur.rocks/fgfs/helihud_0.3.tar.bz2 download] contains instructions and specs.&lt;br /&gt;
&lt;br /&gt;
; V(MX)-22 Osprey HUD&lt;br /&gt;
: [http://stefan.gofferje.net/downloads/flightgear/file/1-hud-for-vmx-22-osprey Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Debian&amp;diff=107956</id>
		<title>Building FlightGear - Debian</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Debian&amp;diff=107956"/>
		<updated>2017-05-28T14:45:40Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Redirected to Building_FlightGear_-_Devuan until someone takes over here.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Building_FlightGear_-_Devuan]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Devuan&amp;diff=107955</id>
		<title>Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Devuan&amp;diff=107955"/>
		<updated>2017-05-28T13:38:08Z</updated>

		<summary type="html">&lt;p&gt;Flughund: just a link to Building_FlightGear_-_Devuan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Building_FlightGear_-_Devuan]]&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=107954</id>
		<title>Building FlightGear - Devuan</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Building_FlightGear_-_Devuan&amp;diff=107954"/>
		<updated>2017-05-28T13:35:56Z</updated>

		<summary type="html">&lt;p&gt;Flughund: Compile FG 2017.2 on Devuan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo build [[FlightGear]] &amp;lt;u&amp;gt;stable&amp;lt;/u&amp;gt; ([[Changelog_2017.2|2017.2]]) or bleeding edge development version, hereinafter simply called &amp;lt;u&amp;gt;[[FlightGear_Git#Repositories_and_branches | next]]&amp;lt;/u&amp;gt;, on [https://devuan.org/ Devuan] GNU/Linux Stable (&amp;lt;u&amp;gt;Jessie&amp;lt;/u&amp;gt;). Users of Testing or Unstable at least have to change package names (version numbering) accordingly.&amp;lt;br /&amp;gt;&lt;br /&gt;
Instructions probabaly apply on [https://debian.org/ Debian] GNU/Linux Jessie, too.&lt;br /&gt;
&lt;br /&gt;
The meaning of this article is to be a short, '''checklist''' like, overview of the specific steps to compile FlightGear and components on Debian. For more detailed information please refer to the main article [[Building_FlightGear_-_Linux | Building FlightGear on Linux]].&lt;br /&gt;
&lt;br /&gt;
If you don't want to get your hands dirty, have a look at [[Scripted Compilation on Linux Debian/Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] For beginners with compiling it is highly recommended to follow this guide step by step. Any modification to most of the here used commands may cause trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements and Preparations ==&lt;br /&gt;
A bunch of packages (as well as some of their dependencies) are required to compile FlightGear:&lt;br /&gt;
&lt;br /&gt;
; Tools&lt;br /&gt;
 su -c &amp;quot;apt-get install automake cmake g++ gcc git make sed subversion&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Dependencies&lt;br /&gt;
 su -c &amp;quot;apt-get install  \&lt;br /&gt;
   freeglut3-dev   libboost-dev      libcurl4-openssl-dev  libdbus-1-dev \&lt;br /&gt;
   libfltk1.3-dev  libglew-dev       libgtkglext1-dev      libjpeg62-turbo-dev \&lt;br /&gt;
   libopenal-dev   libopenscenegraph-dev                   libqt5opengl5-dev \&lt;br /&gt;
   librsvg2-dev    libxml2-dev       qt5-default           qtdeclarative5-dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
: If you prefer you might replace &amp;quot;libcurl4-openssl-dev&amp;quot; by &amp;quot;libcurl4-gnutls-dev&amp;quot;.&lt;br /&gt;
: If &amp;quot;libjpeg62-turbo-dev&amp;quot; breaks package dependencies, just install one of the other versions' -dev.&lt;br /&gt;
: Add &amp;quot;libudev-dev&amp;quot; if you need FG's feature &amp;lt;code&amp;gt;-D EVENT_INPUT=ON&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
: [[File:Zeichen_144_icon.png|21px]] During installation development packages of libraries which are going to be compiled ''must not'' be installed. They can safely be re-installed after compilation. Namely these are &amp;quot;libplib-dev&amp;quot; and &amp;quot;simgear-dev&amp;quot;. &amp;lt;!--For &amp;lt;u&amp;gt;Wheezy&amp;lt;/u&amp;gt; additionally &amp;quot;libboost-dev&amp;quot;, &amp;quot;libopenthreads-dev&amp;quot; and &amp;quot;libopenscenegraph-dev&amp;quot;.--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
osg: libxml2-dev libcurl4-openssl-dev libgtkglext1-dev libopenal-dev libpng12-dev librsvg2-dev libtiff4-dev&lt;br /&gt;
sg: libalut-dev libboost1.42-dev libsvn-dev&lt;br /&gt;
fg: freeglut3-dev (libfltk1.1-dev (für fgadmin) fluid) (libudev-dev)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build and install ==&lt;br /&gt;
Because we are going to install versions different to the ones in the Debian repositories, it is recommended to install FlightGear in a place independent of the base system, such as &amp;lt;code&amp;gt;/usr/local/FG-Stable&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;$HOME/FG-Stable&amp;lt;/code&amp;gt;. This way also has the advantage of easily managing several FlightGear versions, even with different versions of OpenSceneGraph and/or plib, simply by altering the installation prefix. I suggest to make this directory writeable by the user so there is no need to become root for the &amp;lt;code&amp;gt;make -j2 &amp;amp;&amp;amp; make install&amp;lt;/code&amp;gt; commands. We'll use &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; as a [http://www.cmiss.org/cmgui/wiki/SettingEnvironmentVariablesInBash placeholder] for this directory. &amp;lt;br /&amp;gt;&lt;br /&gt;
Another placeholder will be &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt;, it stands for the absolute path to the directory which is supposed to keep the folders of the various source codes. So, in the instructions below, you have to replace these with the local paths or even &amp;lt;code&amp;gt;export&amp;lt;/code&amp;gt; them (in every terminal you're using them) for the process:&lt;br /&gt;
 export FG_INSTALL_DIR=$HOME/FG-Stable &amp;amp;&amp;amp; mkdir $FG_INSTALL_DIR&lt;br /&gt;
 export FG_SRC_DIR=$HOME/src &amp;amp;&amp;amp; mkdir $FG_SRC_DIR&lt;br /&gt;
&lt;br /&gt;
Have in mind that the data is a relatively large download (GIT about 2.3 GiB (required disk space 4 GiB) / Stable about 1.6 GiB). So, to save some time, it is a good idea to [[#FlightGear data|fetch]] it while building the sources. &amp;lt;br /&amp;gt;&lt;br /&gt;
For some basic info on git commands for FlightGear users we have a [[Git_for_Laymen#How_do_I_use_the_git_repository_to_update_Flightgear_stuff.3F|git for laymen]] section. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more/advanced cmake options and SimGear's and FlightGear's optional features see the [[Building_using_CMake#Optional_Features|cmake]] article.&lt;br /&gt;
&lt;br /&gt;
[[File:Zeichen_144_icon.png|21px]] Do '''not''' mix instructions for &amp;lt;u&amp;gt;stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;! Not even for fgdata, mixing versions will almost certainly break the installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[plib]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
Latest SVN is [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg20793.html required].&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;svn co https://svn.code.sf.net/p/plib/code/trunk plib.svn&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 cd plib.svn&lt;br /&gt;
 sed s/PLIB_TINY_VERSION\ \ 5/PLIB_TINY_VERSION\ \ 6/ -i src/util/ul.h&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure --prefix=$FG_INSTALL_DIR&lt;br /&gt;
 make -j2 &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[SimGear]] ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/simgear simgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd simgear.git&lt;br /&gt;
 git checkout release/2017.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-sg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-sg&lt;br /&gt;
 cmake -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/simgear.git&lt;br /&gt;
 make -j2 &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear source ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 cd $FG_SRC_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/flightgear flightgear.git&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd flightgear.git&lt;br /&gt;
 git checkout release/2017.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; and &amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt;:&lt;br /&gt;
 mkdir $FG_SRC_DIR/build-fg &amp;amp;&amp;amp; cd $FG_SRC_DIR/build-fg&lt;br /&gt;
 cmake -D FG_DATA_DIR:PATH=&amp;quot;$FG_INSTALL_DIR/fgdata&amp;quot; -D CMAKE_INSTALL_PREFIX:PATH=&amp;quot;$FG_INSTALL_DIR&amp;quot; $FG_SRC_DIR/flightgear.git&lt;br /&gt;
 make -j2 &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FlightGear data ===&lt;br /&gt;
&amp;lt;u&amp;gt;Stable&amp;lt;/u&amp;gt; only: &lt;br /&gt;
 cd $FG_INSTALL_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget http://sourceforge.net/projects/flightgear/files/release-2017.2/FlightGear-2017.2.1-data.tar.bz2/download -O FlightGear-2017.2.1-data.tar.bz2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 tar xjf FlightGear-2017.2.1-data.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;next&amp;lt;/u&amp;gt; only:&lt;br /&gt;
 cd $FG_INSTALL_DIR&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;git clone git://git.code.sf.net/p/flightgear/fgdata fgdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trial run and finishing process ==&lt;br /&gt;
When all the builds are done and the data download has finished it is time for a test run:&lt;br /&gt;
 export LD_LIBRARY_PATH=$FG_INSTALL_DIR/lib/:$LD_LIBRARY_PATH&lt;br /&gt;
 $FG_INSTALL_DIR/bin/fgfs --launcher&lt;br /&gt;
: The &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; binary needs to find our self compiled libraries at runtime and therefore we have to tell the linker (ld) where to find them. That is what the first line here does. You might want to add this line to your &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; to have this as a persistent setting (may cause problems, if one has installed more than one version of FlightGear!).&lt;br /&gt;
: Have in mind, the &amp;lt;code&amp;gt;$FG_INSTALL_DIR&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$FG_SRC_DIR&amp;lt;/code&amp;gt; variables are available for this session only. For future use of these lines, replace them by the real paths.&lt;br /&gt;
&lt;br /&gt;
To avoid the need to give the path to the &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; command each time, you might consider to create a symlink at a place that is listed in $PATH:&lt;br /&gt;
 ln -s $FG_INSTALL_DIR/bin/fgfs $HOME/bin/fgfs&lt;/div&gt;</summary>
		<author><name>Flughund</name></author>
	</entry>
</feed>