Scripted Compilation on Linux Debian/Ubuntu: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Notes on upcoming script changes and the need to convert previous usage of the script.)
No edit summary
Line 7: Line 7:
Please also see [[Superbuild]].
Please also see [[Superbuild]].


=== Update coming soon - Conversion will be required ===
=== Update Available - Conversion step is built in ===


Clement d'Hamide and Pat Callahan are working on a new simplified script.
Clement d'Hamide has published version 2.23 of the script.
The new script will not try to do as much housekeeping. It will be easier to maintain.
The new script will not try to do as much housekeeping. It will be easier to maintain.


However, the script does use a slightly different directory structure.  If you have used the script before, you will need to do a separate very short conversion step before running the script to account for these differences. The conversion will:
However, the script does use a slightly different directory structure. For example simgear/simgear has been replaced with just simgearOpenSceneGraph becomes openscenegraph and install/fgfs becomes install/flightgear.


* move source directories
If you have used the script before, the script will do a quick conversion step and stop.  You will need to restart the script after the conversion step. During conversion, your download of fgdata is preserved, but other sources may not be.  Read the script for details.  You may want to backup your flightgear build directories before running this version.
 
download the script with this command:
 
wget -O download_and_compile.sh https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh
 
 
The conversion will:
 
* move or remove source directories for compatibility
* remove the build directory
* remove the build directory
* move fgdata out of the way so you won't have to download it again
* remove the install directory except for fgdata
* remove the install directory
* move fgdata back where it belongs.
 
=== Conversion Step ===


to be supplied
You will have to restart the script after the conversion.


=== Cut to the Chase: for the impatient ===
=== Cut to the Chase: for the impatient ===


  cd  <your working directory for building flightgear>
  cd  <your working directory for building flightgear>
  wget download_and_compile.sh  https://www.gitorious.org/fg/fgmeta/raw/master:download_and_compile.sh
  wget download_and_compile.sh  https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh
chmod +x download_and_compile.sh
  mkdir -p stable
  mkdir -p stable
  mkdir -p next
  mkdir -p next
Line 44: Line 50:
* FlightGear (And all the data needed to use it)
* FlightGear (And all the data needed to use it)
* [[Fgrun]]
* [[Fgrun]]
* [[FGCOM]]
* [[FGComGui]]
* [[FGo!]]
* [[FGo!]]
* [[FGX]]
* [[FGX]]
* [[Atlas]]
* [[Terragear]]
* [[Terrasync]]
* [[TerragearGUI]]
* [[OpenRadar]]
* [[FlightGear HLA support (High Level Architecture) | OpenRTI]]
* [[FlightGear HLA support (High Level Architecture) | OpenRTI]]


Line 60: Line 65:
==== Updated list of programs compilation status ====
==== Updated list of programs compilation status ====
Keeping in mind that this script compiles bleeding edge software versions, using latest debian derivered distros, it can happen that the program that was successfully compiling last week, today does not.<BR/>
Keeping in mind that this script compiles bleeding edge software versions, using latest debian derivered distros, it can happen that the program that was successfully compiling last week, today does not.<BR/>
This is a list of what does and does not compile as much updated as possible.<BR>
 
Date: 19 November 2012
* FlightGear ... OK
* [[Fgrun]] ... OK
* [[FGCOM]] ... OK
* [[FGComGui]] ... Fails on Ubuntu 13.04
* [[FGo!]] ... OK
* [[FGX]] ... OK
* [[Atlas]] ... COMPILATION ERROR
* [[Terrasync]] ... OK
* [[FlightGear HLA support (High Level Architecture) | OpenRTI]] ... OK


== Download ==
== Download ==
You can download the script here:  
You can download the script here:  
* Primary site: [https://www.gitorious.org/fg/fgmeta/raw/master:download_and_compile.sh download_and_compile.sh]
* Primary site: [https://www.gitorious.org/fg/fgmeta/raw/next:download_and_compile.sh download_and_compile.sh]
* Mirror: [http://assistenza.larasrl.net/brisa/fgfs/download_and_compile.sh download_and_compile.sh] (not recently updated)
* Mirror: [http://assistenza.larasrl.net/brisa/fgfs/download_and_compile.sh download_and_compile.sh] (not recently updated)


Line 85: Line 80:


To work around this issue, simply switch to your SG/FG build directories and reconfigure each tree by running "cmake ." - for further info, see [http://forum.flightgear.org/viewtopic.php?f=22&t=20304#p186647][http://forum.flightgear.org/viewtopic.php?f=22&p=187413#p186942].
To work around this issue, simply switch to your SG/FG build directories and reconfigure each tree by running "cmake ." - for further info, see [http://forum.flightgear.org/viewtopic.php?f=22&t=20304#p186647][http://forum.flightgear.org/viewtopic.php?f=22&p=187413#p186942].
This should probably be removed.  Stable is 3.0.


== Instructions ==
== Instructions ==
Line 90: Line 87:
then execute it (no need to execute it as root).
then execute it (no need to execute it as root).


Here is for example a sequence of commands to get the script from the master branch:
Here is for example a sequence of commands to get the script from the master branch.  You can replace master with next to get a later version of the script if one is available:
<pre>
<pre>
mkdir ~/fgfs
mkdir ~/fgfs
Line 97: Line 94:
chmod 755 download_and_compile.sh
chmod 755 download_and_compile.sh
</pre>
</pre>
Depending on the level of maintenance activity on the script, the version in master may be out of date.
 
To get the script from the next branch:
<pre>
mkdir ~/fgfs
cd ~/fgfs
wget http://www.gitorious.org/fg/fgmeta/raw/19e9e62ba61c40bdbcbacc93d119320d99311e02:download_and_compile.sh
chmod 755 download_and_compile.sh
</pre>


You have two options now: build the latest ''stable'' FlightGear release or build the ''current development'' version (bleeding edge).
You have two options now: build the latest ''stable'' FlightGear release or build the ''current development'' version (bleeding edge).
Line 128: Line 118:


=== Launching FlightGear ===
=== Launching FlightGear ===
When using brisa's script, the various FG dependencies/libs are usually not installed system-wide, but in a custom location (that makes it possible, to easily use different OSG/SG/FG versions on a single system, i.e. for testing purposes - but also to have separate build trees (optimized/debug) ) - which is why you either need to set LD_LIBRARY_PATH or simply use Brisa's script to run everything (something like run_fgfs.sh, which automatically sets up all environment variables according to your build settings).  
When using brisa's script, the two FG dependencies/libs are usually not installed system-wide, but in a custom location (that makes it possible, to easily use different OSG/SG/FG versions on a single system, i.e. for testing purposes - but also to have separate build trees (optimized/debug) ) - which is why you either need to set LD_LIBRARY_PATH or simply use Brisa's script to run everything (something like run_fgfs.sh, which automatically sets up all environment variables according to your build settings).  


To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:
To run your new git installation of FlightGear you have to launch the ''run_fgfs.sh'' command under the same folder, for example:
Line 143: Line 133:
sh run_fgrun.sh
sh run_fgrun.sh
</pre>
</pre>
fgrun will save its settings in ~/.fltk/flightgear.org/fgrun.prefs  you may want to save copies of the preferences customized for stable and next.


=== Launching Fgo! ===
=== Launching Fgo! ===
Line 167: Line 159:
</pre>
</pre>


=== Launching FGComGui ===
FgComGui is a GUI wrapper to launch fgcom.
<pre>
cd ~/fgfs 
sh run_fgcomgui.sh
</pre>


=== Launching Atlas ===
[[File:Atlas.jpg|thumb]]
Atlas provides a map for FlightGear, use it launching: ''run_atlas.sh''
<pre>
cd ~/fgfs
sh run_atlas.sh
</pre>


=== Launching Terrasync ===
=== Launching Terrasync ===
Line 218: Line 197:
* DATA (to download / update only data files for FlightGear)
* DATA (to download / update only data files for FlightGear)
* FGRUN (to compile and install only Fgrun)
* FGRUN (to compile and install only Fgrun)
* TERRAGEAR (to compile and install only terragear!)
* TERRAGEARGUI (to compile and install only terrageargui!)
* OPENRADAR (to compile and install only OpenRadar!)
* FGO (to compile and install only Fgo!)
* FGO (to compile and install only Fgo!)
* FGCOM (to compile and install only Fgcom) (DEPRECATED - NOW PART OF FLIGHTGEAR and OPENRADAR)
* FGCOMGUI (to compile and install only FgComGui) (DEPRECATED - NOW PART OF FLIGHTGEAR and OPENRADAR)
* ATLAS (to compile and install only Atlas)


=== Fast updating ===
=== Fast updating ===
Line 269: Line 248:


== Remove warning message for DDS files ==
== Remove warning message for DDS files ==
You can remove the warning message displayed when DDS files are parsed by SimGear by adding the following line just after '''cd "simgear/simgear"''' line :
You can remove the warning message displayed when DDS files are parsed by SimGear by adding the following line just after '''cd "simgear"''' line :
<pre>
<pre>
sed -i s/SG_ALERT,\ \"Image/SG_WARN,\ \"Image/g simgear/scene/model/ModelRegistry.cxx
sed -i s/SG_ALERT,\ \"Image/SG_WARN,\ \"Image/g simgear/scene/model/ModelRegistry.cxx
930

edits

Navigation menu