internal: preamble boost folders options help downloads end
2012-02-04: Version 1.3.8 - Add SG/FG/TG CMake options. Use --help to see list supported. Note, some options like JPEG_FACTORY must be enabled in both SG and FG, like SG_JPEG_FACTORY and FG_JPEG_FACTORY, and of course where necessary the relevant shared library must be installed, in this case libjpeg.so
2012-02-03: Version 1.3.7 - Fix for when PLIB built locally, and some tool/package changes for Ubuntu 11.10
2011-12-31: Still version 1.3.6 - Minor fix for the generation of TG tools. Common
usage, in a NEW directory -
$ makefg # download/build PLIB/OSG/SG/FG/FGRUN/FGDATA, as required...
# and when this completes SUCCESSFULLY!
$ makefg TG # build TG tools, installed in $HOME/bin
# Then additions like $ makefg ATLAS
2011-11-15: Added version 1.3.6 (again seems 1.3.5 got lost ;=)). This is an ALL cmake version! Of course OSG has always been via cmake, but now also for the SG/FG/TG builds.
2011-10-26: Added later versions v1.3.1, v1.3.2 and v1.3.3, (seems v1.3.4 got lost ;=)), and still working on v1.3.5, using CMake for SG and FG, and soon also for TG. But have run into a CMake problem for the moment, in both Ubuntu and XP, which I hope is solved soon...
2011-06-27: Update to latest version 1.3.0, dated 2011-05-04. I have ALSO updated my Ubuntu to 10.04, lucid. While there are no substantial differences between this and previous script versions, at this time I have dropped a separate 'maketg', as the making of the terragear tool set is now folded into this one script. After you have SUCCESSFULLY build 'fgfs', you can now just add '$ makefg TG' to build the TG suite. And there are lots of other minor improvements...
Further, more work has been put into supporting OSG, PLIB, and BOOST, either as fully installed prerequisites, or in other directories outside the current build. And while I do try to load the file /etc/lsb-release, to set DISTRIB_ID, _RELEASE, etc, and switch some prerequisite names per these values, the script can fail in the initial tool update. It may be necessary to remove or adjust some of the apt-get packages, or use the NO_TOOL_UPD command. Enjoy...
2011-01-09: Update to latest, version 1.2.4, dated 2010-12-17
2010-12-12: Update to the latest script, version 1.2.3, dated 24 Nov 2010.
Back in January, 2009, I started using a shell script to 'download' and build fgfs in Ubuntu 8.04 LTS. After recently updating this makefg script, 2010-08-21 (version 1.2++), to use the 'new' SG / FG / FG DATA gitorious repository, I decide to add this page...
The initial makefg script was based on that of Francesco Angelo Brisa, circa 2008, see fg.wiki, (was http://brisa.homelinux.net/fgfa/), where I note there is a link to an updated script, here, which can be configured to use stable 'revisions' of PLIB 1.8.5 (2163), OSG 2.9.7 (11729), SG 2, FG 2, and FG DATA. So if you want to BUILD from the STABLE sources, then that is still the place to go ;=)).
Otherwise, my rather LARGE (130KB) script tries to deal with either the last release OR svn versions for the '3rd party' dependencies, PLIB, OSG, and BOOST, adds FGRUN, Atlas/Map, and uses the latest GIT versions of SG, FG, and FG DATA. SG and FG sources and base DATA are from the gitorious repository, 'next' branch, 'master' for fgdata.
A word has to be said about FG BASE DATA. It is humongous - even with the --depth 1 version I use, which does NOT included ALL the history, and has some restrictions. It is nearly 5GB alone, and can take anywhere from 3-4 at best ;=(), to 12-14 or more HOURS ;=(( to 'clone', depending on your internet connection speed, and how 'busy' gitorious is at the time.
There is the alternative to get the all or some from the mapserver repository, but this is NOT used by the makefg script... Also some older version of the script attempted to double as a TerraGear downloader, and builder, but this was later moved to a 'specialized' maketg script, but with this 1.3.++ version has been combined back into ONE. So, after a successful 'makefg', you can now add 'makefg TG' to build the TerraGear suite of tools, which will be installed in $HOME/bin,
The script has lots, LOTS of options, but it can be used as simple as, when placed in a folder in your PATH environment variable, and made 'executable' ($ chmod +x makefg) :-
The script will keep you well informed on what it is doing, and will pause for confirmation to continue very frequently, unless you use the NOPAUSE parameter option. But even with this option, it may still wait for input under certain circumstances, error conditions... And of course, --help, -h, or -? options will output all the options available, with some explanation...
The first run takes a long, LONG time, but there after it leverages what you already have, while offering options like SGUPD, and FGUPD to freshen the sources, and build... even a fresh clone in a new directory will use all the 3rd party stuff used the first time, unless instructed otherwise, through a 'conf' file it writes.
It also does an 'apt-get <packages>' to try to ensure ALL the tools you need are in your system, and updated. This stage will require you to give you password to do these updates, but this step can be avoided with the NO_TOOL_UPD option.
NOTE: If you do NOT have a BOOST version equal to 1.37.9 or higher installed, then the script will attempt to download boost zip from my site, but will NOT build the libraries.
When run, makefg may generate the following folder structure in what ever 'root' you started. However the latest makefg versions, 1.3++, also fully supports pre-installed BOOST, PLIB, and OSG, in which case the download and build of these prerequisites is avoided.
Further the location of a single updated FGDATA directory can be configured, thus avoided the repeated download of this massive block! And Atlas and TG are not on by default.
|/simgear||git clone, and build of the SG source - SG||175MB|
|/flightgear||git clone, and build of the FG source - FG||550MB|
|/fgrun||svn source and build of fgrun... - FGRUN||24MB|
|/fgdata||git clone of the FG base data. (depth 1)||9.3GB|
Each of the above are DOWNLOADED source directories
The following are by adding 'options' to the script
|/Atlas||cvs checkout and build of Atlas/Map. ATLAS||24MB|
|/terragear-cs||git clone and build of the TerraGear tools set. TG||34MB|
|The following are generated by the script|
|/install||This is where all the pieces will be installed...||350MB|
|/tmp||Where logs, and other information is stored.||5-10KB|
|Total (estimate, after build...)||10+GB|
Optional folders. Only if BOOST, PLIB and/or OSG are NOT already 'installed' in your system. Not found by the script.
|/boost_1_44_0||This is the boost headers folder, from the download of a tar.gz - boost||280MB|
|/plib||The svn source, and build of PLIB - PLIB||59MB|
|/OSG301||Download, unzip and build of OSG development release 3.0.1 - OSG||218MB|
The script has a myriad of options which can be seen by running the usual $ makefg --help.
Some of these downloads can be avoided, if you already have the particular item somewhere else in your system. The related options are :-
|PLIBPATH=<dir>||Point to another installed PLIB to be used|
|OSGPATH=<dir>||Point to another installed OpenSceneGraph to be used|
|BOOSTPATH=<dir>||Point to another downloaded, but not necessarily installed boost headers.|
Naturally the directory given with these options must exist, and it will be checked a little to ensure it looks valid for the particular headers (and libraries)...
~/FG20/$ makefg OSGTRUNK --help Processing makefg, version 1.3.8, of 2012-02-04, on Sat Feb 4 13:37:59 CET 2012, with command [OSGTRUNK --help], next log is [/home/geoff/bin/old-versions/tmp/templog1.txt] Checking 2 arguments ... [OSGTRUNK --help] ######################################################################################## # makefg - a script for downloading, making, and installing FlightGear - 2012-02-04 1.3.8 ######################################################################################## Help for running makefg script, version: 1.3.8 - geoff mclane - email: reports [at] geoffair [dot] info The script pauses for input of a 'y' frequently. Any other input, or none, and it will exit. If you want to proceed WITHOUT any pause, then use NOPAUSE in the command line. Run without any command, or 'DOUPD' will do checkouts, (or updates) from the repositories. The tools can be updated by 'TOOLUPD', or 'TOOLUPDONLY' to exit after this 'tool' update. 'DOUPD' will also update the tools, and update each of the other components, if the checkout already done. But 'NO_TOOL_UPD' will ensure NO tool or package update done. NOTE: The command ADDDEBUG before the help request would give MORE information. Full set of valid commands is: For PLIB: PLIB PLIBUPD PLIBAUTO PLIBCONF PLIBCLEAN PLIBDEBUG NOPLIB PLIBPATH=>path< For PLIBEX: PLIBEX (=also build examples) PLIBCONFEX PLIBAUTOEX For OSG: OSG OSGEXAM OSGUPD OSGCMAKE OSGCLEAN OSGNOUPD NOOSG OSGNOFIX OSGNOLINK OSGPATH=>path< For SG: SG SIMGEAR SGAUTO SGUPD SGNOUPD SGCLEAN SGCONF SGDEBUG SGBOOST SGNOBOOST NOSG For FG: FG FGFS FGUPD FGNOUPD FGAUTO FGCLEAN FGCONF FGDEBUG NOFG Simgear Options SG_JPEG_FACTORY Enable JPEG-factory support (def=OFF) SG_ENABLE_RTI Enable RTI in simgear (def=OFF) FlightGear Options FG_JPEG_FACTORY Enable JPEG-factory support (def=OFF) FG_ENABLE_RTI Enable RTI in flightgear (def=OFF) FG_SP_FDMS Enable special-purpose FDMs (def=OFF) FG_UIUC_MODEL Enable UIUCModel FDM (def=OFF) FG_LARCSIM Enable LaRCsim FDM (def=OFF) Terragear Options TG_GDAL_OFF Disable GDAL/OGR Build (def=ON) For FGDATA: FGDATA FGUPDDATA FGNODATA FGDATADIR=>path< For BOOST: BOOSTPATH=>dir< BOOSTLIBS=>dir< For FGRUN: FGRUN FGRUNUPD FGRUNAUTO FGRUNCLEAN FGRUNCONF FGRUNDEBUG FGRUNNO NOFGRUN For ATLAS: ATLAS ATLASUPD ATLASAUTO ATLASCLEAN ATLASCONF ATLASDEBUG NOATLAS ATLAS and TG are OFF by default. Use ATLAS or ATLASADD to add Atlas. OSG Version: Def=OSG301, OSG283, OSGUSEDEV=296 dev.rel., OSG299 dev.rel., or OSGTRUNK (trunk). For TG: TG TGUPD TGAUTO TGCLEAN TGCONF TGDEBUG TGADDOGR In all cases, the FG base data will be installed, since it is required for FG and TG! Others: DOUPD Force update of ALL tools, sources. Checkout always done if not existing. DOUPD2 Do update of sources after OSG. TOOLUPD Force apt-get tool and package update TOOLUPDONLY Only update tools, and exit NO_TOOL_UPD Ensure NO tools or package update done ADDDEBUG More output to the (incrementing) LOG file DELSCRIPTS Delete, and re-write run scripts. This can happen automatically for certain version changes. NO_CONF Assume NO CONF file available. NOPAUSE Do not pause (frequently), and wait for input. HELP Output help, and exit. Installation: The main 'fgfs' application will be installed in /home/geoff/bin/old-versions/install/flightgear. but run_fgfs.sh, and run_fgrun.sh are written to /home/geoff/bin/old-versions for a quick start. It is difficult to describe the interaction of many parameters, but suffice it to say run without parameters builds the default set PLIB, OSG, SG, FG and FGRUN, if 'boost' found, but some parameters, like say 'FG' cause only that component to be addressed. The file /home/geoff/bin/makefg-1.3.8.conf can contain parameters previously used, and will become the 'default' on the next run. This is especially helpful for parameters like BOOSTPATH, FGDATADIR, PLIBPATH, ... to use the previous >path< given, or used. If it is a NEW installation QUESTION? QUESTION? QUESTION? QUESTION? *** THIS APPEARS TO BE A NEW INSTALLATION in [/home/geoff/bin/old-versions] *** If it is an existing installation makefg: Some _VERY_ important 'prefix' items for 'configure'. makefg: *** CHECK THEM CAREFULLY! *** and the FG data path. makefg: PLIB: /usr - version [1.8.5] SKIP makefg: OSG: /media/Disk2/FG/fg20/install/OSGtrunk - Version [3.1.0] ... makefg: BOOST: /usr - version [1.40.00] OK makefg: SG: /media/Disk2/FG/fg20/install/simgear - version [2.7.0] ... makefg: FG: /media/Disk2/FG/fg20/install/flightgear - version ["2.7.0"] ... makefg: FGRUN: /media/Disk2/FG/fg20/install/fgrun - versions [1.6.1] ... makefg: FGDATA: /media/Disk2/FG/fg20/fgdata - version [2.7.0] SKIP
NOTE WELL: If, and when there are LATER versions, then these will usually be available for direct download at http://geoffair.org/tmp/makefg, sometimes long before they get added to this formal page.
makefg-<version>.zip - contains the single makefg script, or sometimes makefg.<version>. It would be normal to place this script in a folder that is included in your PATH environment variable, so you can use it from anywhere.
It records some 'persistent' configuration information in the folder it is run from, and $HOME/bin, so it is better used from a 'persistent' PATH directory, rather than locally as './makefg'.
And, of course, you have to make it executable - $ chmod +x makefg
In previous versions there was a separate 'maketg' script, but as of 1.3.++ there is now only one script for ALL. Of course if you have no interest in building your own personal part of flightgear scenery, then this extension will be of no interest to you.
2011-11-15: This only applied to early script versions, and only if the script was used to download BOOST
To allow the auto tools to find an 'uninstalled' boost headers, patches need to be done to simgear and flightgear configure.ac and acinclude.m4 files. These are NOT needed if a fully normally installed version of boost is used.
Until accepted, and updated in the FG and SG GIT repositories, acinclude.m4 and configure.ac _MUST_ be patched to use this 'uninstalled' set of boost headers. My modified files for both SG and FG are available in the downloads below.
BUT be warned, these MAY be out-of-date, especially the configure.ac files as the projects progress, and it may be necessary to 'merge' the changes. Usually both the acinclude.m4 files can be directly replaced.
configure.zip or configure.tar.gz - These contains simgear/source/configure.ac and acinclude.m4, plus fgfs/source/configure.ac and acinclude.m4. As stated above, these may be out-of-date, especially the configure.ac files, and may need to be merge with the current. Usually the acinclude.m4 can be a direct replacement.
This was the older folder structure, prior about makefg version 1.3.++
|/boost_1_43_0||This is the boost headers folder, from the download of a tar.gz - boost||280MB|
|/plib||The svn source, and build of PLIB - PLIB||100MB|
|/OSG282||Download, unzip and build of OSG development release 2.8.2 - OSG||190MB|
|/simgear/source||The git clone, and build of the SG source - FG||175MB|
|/fgfs/source||The git clone, and build of the FG source - FG||550MB|
|/fgrun||The svn source of fgrun... - FGRUN||37MB|
|/fgfs/data||The git clone of the FG data, but ONLY at --depth 1, history excluded.||5GB|
Each of the above are DOWNLOADED source directories
The following are generated by the script
|/install||This is where all the pieces will be installed...||350MB|
|/tmp||Where logs, and other information is stored. This can be deleted anytime.||5-10KB|
|Total (estimate, after build...)||7-8GB|
EOP - fgfs-052.htm