Scripted Compilation on Linux Debian/Ubuntu: Difference between revisions

Jump to navigation Jump to search
→‎Updating FlightGear: Better explain -I
(→‎Updating FlightGear: Update due to $WHATTOBUILDALL being bigger now; also mention the -I option)
(→‎Updating FlightGear: Better explain -I)
Line 201: Line 201:
}} and [[OpenSceneGraph|OSG]], simply execute this:
}} and [[OpenSceneGraph|OSG]], simply execute this:
  $ download_and_compile.sh -I -pn -j$(nproc) SIMGEAR FGFS DATA OSG
  $ download_and_compile.sh -I -pn -j$(nproc) SIMGEAR FGFS DATA OSG
The <code>-I</code> option tells <tt>download_and_compile.sh</tt> to ignore inter-component dependencies (which are there mostly to help beginners). The <code>-j$(nproc)</code> option is not necessary, but is likely to save you a lot of time; with it, all available CPU cores will be used when compiling—see [[#Multicore acceleration| Multicore acceleration]].
The <code>-I</code> option tells <tt>download_and_compile.sh</tt> to ignore inter-component dependencies. If you don't use it, other components may be processed too due to these dependencies. The purpose of the behaviour without <code>-I</code> is to help people who aren't necessarily aware of new requirements as time goes (e.g., SIMGEAR and FGFS started to require CARES by the end of 2024; a FlightGear fork of OSG is also required for FGFS ''next'' in 2025). However, it may be frustrating to specify a list of components and see additional ones being automatically added, hence the option.
 
The <code>-j$(nproc)</code> option is not necessary, but is likely to save you a lot of time; with it, all available CPU cores will be used when compiling—see [[#Multicore acceleration| Multicore acceleration]].


<tt>SIMGEAR</tt>, <tt>FGFS</tt>, <tt>DATA</tt> and <tt>OSG</tt> are called ''components'' in <tt>download_and_compile.sh</tt> terminology. A component generally corresponds to a software repository, or something close.
<tt>SIMGEAR</tt>, <tt>FGFS</tt>, <tt>DATA</tt> and <tt>OSG</tt> are called ''components'' in <tt>download_and_compile.sh</tt> terminology. A component generally corresponds to a software repository, or something close.
Line 217: Line 219:
Routine update:
Routine update:
  $ download_and_compile.sh -pn -j$(nproc) ''COMPONENT...''
  $ download_and_compile.sh -pn -j$(nproc) ''COMPONENT...''
(add <code>-I</code> if you don't want inter-component dependencies to pull other components). In case this fails, first update <tt>download_and_compile.sh</tt> (see [[#getting-download-and-compile-sh-using-an-fgmeta-clone|above]]), then run
(add <code>-I</code> if you don't want inter-component dependencies to pull additional components). In case this fails, first update <tt>download_and_compile.sh</tt> (see [[#getting-download-and-compile-sh-using-an-fgmeta-clone|above]]), then run
  $ download_and_compile.sh --cleanup
  $ download_and_compile.sh --cleanup
  $ download_and_compile.sh -j$(nproc) ''COMPONENT...''
  $ download_and_compile.sh -j$(nproc) ''COMPONENT...''
417

edits

Navigation menu