Previous Next Contents

2. Installation

This section provides information on obtaining and installing fplan and the associated database files. There are binary distributions for Intel x86 based computers running the Linux, OS/2 and MS-DOS operating systems. Instructions are provided for users with other architectures and operating systems who will need to build fplan from source code. The database files are compatible with any architecture and operating system.

2.1 Where to Get the Distribution

I was fortunate to have obtained space for a world wide web site for fplan from ibiblio.org at the University of North Carolina at Chapel Hill. I would like to extend my gracious thanks to them for donating resources to support this effort. All of the fplan binaries, source code, and the associated database files discussed below can be obtained from the fplan world wide web site at

2.2 The Binary Distribution for Linux

A binary distribution of fplan is available for Linux on the Intel x86 architecture. I don't have access to Linux on other architectures (like DEC Alpha, Motorola 680x0 or Power PC, Sparc). If anyone wants to contribute Linux binaries for these architectures please let me know and I will gladly make them available for everyone.

The binary distribution for Linux on Intel x86 is available in both Red Hat Package Manager and compressed tar formats. The binary in both distributions has been statically linked to the XView libraries so you shouldn't need to download anything else to get up and running. (Red Hat distributions included XView at one time, but this is no longer the case).

Installing the Linux RPM Binary Distribution

For Red Hat Linux users, the RPM format of the binary distribution is the obvious choice. You will need to download one of the fplan-db database packages and the fplan executable package. The database is available in two flavors. The complete version that contains all airports, both public and private usage, and a version with only public usage airports (although they could still be privately owned).

Simply download the packages, then install or upgrade by running rpm in upgrade mode (upgrade mode can be used for the first install too). The fplan-db package should be installed first, because the fplan package has a registered dependence on the database. Of course you need to be the root user to do this. If you prefer using graphical user interfaces to do things, use glint or xrpm to update the packages. For command line freaks here's an outline of the upgrade commands;

             # change to the directory where the packages are
             % cd directory_where_the_packages_are
             # install the database files first
             % rpm -Uhv fplan-db-1998.05.07-1pub.noarch.rpm
             # now install the fplan executables
             % rpm -Uhv fplan-1.4.2-1.i386.rpm

Installing the Linux Compressed Tar Distribution

The Linux tar distribution is available in three compression formats, standard Unix compress, GNU gzip, and the Burrows Wheeler based bzip2 (usually the best compression), so take your pick.

You will need to download one of the databases and the executable distribution. The common database is available in two flavors. The complete version that contains all airports, both public and private usage, and a version that contains only public usage airports (although they could still be privately owned). Remember that you will need to be the root user if you plan to install anything in system directories.

If you have a preference, you can install the files from the fplan binary distribution anywhere you want. If the database is installed in a directory other than the default, you will need to set the environment variable that reflects where you put them. If you don't have a preference, you can use the default directory structure from the tar archives shown below. To use the default, change your working directory to /usr and extract the contents of the tar file there.

  /usr       # parent directory (can be /usr/local if you prefer)
  |
  +-- bin      # binary executables
  |
  +-- doc
  |   |
  |   +-- fplan  # html, ps, txt documentation
  |
  +-- man
  |   |
  |   +-- man1   # man pages for the executables
  |   |
  |   +-- man5   # man page for the database format
  |
  +-- share
      |
      +-- fplan  # common database files

The fplan binary is configured at compile time to look for the common database files in the directory /usr/share/fplan, so if you put them there you don't have to do anything more. Otherwise, you will need to set the FPLAN_COMMON_DBDIR environment variable to reflect where you put them. (The best place to do this is in the initialization file for your command shell, the ~/.cshrc for C shell users, or the ~/.profile for Bourne shell users).

2.3 The Binary Distribution for OS/2 and MS-DOS

The binary distribution for OS/2 and MS-DOS was built using the excellent GCC/EMX compiler by Eberhard Mattes. The binary runs stand alone under OS/2 Warp and also under MS-DOS with a memory extender that is compatible with the type of extended memory used (which depends on the version of MS-DOS or MS-Windows you are using). The binary distribution is packaged using the freely available Info Zip archiving and compression utility, which is compatible with commercial products like PKUNZIP and WinZip.

Installing the OS/2 and MS-DOS Binary Distribution

You will need to download one of the databases and the executable distribution archived in Info Zip format. The common database is available in two flavors; the complete version that contains all airports, both public and private usage, and a version with only public usage airports (although they could still be privately owned). If you don't have a utility that is compatible with the distribution archives, you can get one for no cost from the Info Zip world wide web site at

You can install the files from the fplan binary distribution anywhere you want if you have a preference. You will need to set the fplan environment variables to reflect where you put the database files. If you don't have a preference you can use the default directory structure from the Zip archives shown below. In this case, you don't need to set any environment variables.

  \fplan      # parent directory (this can be anything you want)
  |
  +-- bin       # binary executables
  |
  +-- commondb  # common database files
  |
  +-- doc       # html, ps, txt documentation
  |
  +-- plans     # work directory for planfiles (and examples too)
  |
  +-- userdb    # user's personal database files

The first step is to select a location in your file system for the fplan top level parent directory. You can call this directory anything you want, but the natural choice is "fplan". Create the top level directory using the mkdir command or your favorite file manager. Next, unpack both the database and executable archives while in the top level fplan directory. The Zip archives contain the sub directories described above, so you don't need to create them.

The next step is to set the fplan environment variables to specify the directories where the database files are located. This is done in the CONFIG.SYS file for OS/2 users and the AUTOEXEC.BAT file for MS-DOS and MS-Windows users. There are two environment variables, one for the common databases and one for your personal databases, where the later is optional. If you have more than a single drive or partition on your system, be sure to include the drive letter in the path specification. If you use the default directory structure from the Zip archives, an example entry might look something like this

        REM define the common database directory
        SET FPLAN_COMMON_DBDIR=D:\PROGS\FPLAN\COMMONDB
        REM define user's personal database directory (optional)
        SET FPLAN_USER_DBDIR=D:\PROGS\FPLAN\USERDB

Where to get the Correct Memory Extender for MS-DOS

If you want to run fplan in a DOS environment using DOS Protected Mode Interface (DPMI) memory, such as a Windows DOS box, you will need the RSX 32 bit extender which you can obtain from

If you want to run fplan in a DOS environment using VCPI memory, you can use the EMX 32 bit extender which you can obtain from

2.4 Building fplan from Source Code

Users with architectures and operating systems for which binaries are not available will need to build fplan from source code. The source distribution is available from the fplan download page on the world wide web. For users with Unix based environments, the source is available in Red Hat Package Manager and compressed tar formats. The source is also available in Info Zip format for users with non-Unix based environments. Some general software requirements for build fplan from source are discussed below.

General Requirements

The graphical previewer option in the original version of fplan required the Suntools Toolkit, available only on Unix based systems from Sun Microsystems. However, since the switch from SunOS to Solaris, Suntools is no longer being distributed by Sun. This release of fplan uses the very similar XView Toolkit, distributed by Sun in both binary and source form. This makes the fully functional fplan significantly more portable since XView has been ported by the user community to many popular Unix/X11 based environments such as, BSDI, FreeBSD, HP-UX, Irix, Linux, Solaris, Unixware, etc.

Alternatively, you can build with a previewer based on the new Gtk+ toolkit and GNOME application toolkit (look for GFX_GNOME in the Makefile; requires gnome-libs 0.99.3 or higher). Once GNOME is more widely available (it is only in beta testing as I write this), the GNOME version will become the default. At that time, we plan to add a graphical front end to all of fplan's features (while maintaining every current ability to use it in text-only mode).

Incidentally, the GNOME front end should eventually make fplan more portable than the XView version allows, as the Gtk+ toolkit is portable to many different display systems, and in particular, has already been ported to the MS Windows environment.

With the previewer disabled, fplan can be built on a wide variety of operating systems, including most non-Unix systems. The specific requirements for building fplan are described below. If you have information regarding building fplan in other environments (Amiga, BeOS, Macintosh MPW, etc.), let me know and I'll update the information. Below is a list of the software development tools you will need.

ANSI C Compiler

I have converted the fplan source to ANSI C to take advantage of the better error checking that comes with function prototypes. (The original fplan was written in K & R style C). If you don't have an ANSI C compiler, the Free Software Foundation's GNU C compiler is an excellent choice (in addition to being completely free). Note that some of the C library functions used are not part of the ANSI standard, so with some compilers you need to include a flag to enable what is often called extended ANSI mode (for example: -Ae under HP-UX). Although most systems still have these functions, there are implementations of them in the file strings.c just in case.

Lexical Analyzer Generator

You won't actually need lex, flex, or any other lexical analyzer generator, unless you want to change the scanner description file, fp_lex.l. A default scanner is provided in the file fp_lex.c, which was generated with flex. If you use a scanner of your own, it must be lex compatible. To enable lex compatibility with flex, you must include the -l flag on the flex command line.

Parser Generator

You won't need a parser generator either, unless you want to change the parser description file fp_yacc.y. A default parser is provided in the file fp_yacc.c, which was generated using Robert Corbett's byacc. If you use your own parser generator, it should be configured to write fixed output files, y.tab.c and y.tab.h like ATT yacc. The correct flags for ATT yacc, byacc, and Bison are included in the provided Makefile.

XView Toolkit

If you want to use the default implementation of the graphics previewer under Unix/X11, you will need Sun Microsystem's XView Toolkit. You can also build fplan without the previewer, in which case you don't need XView. The full source code for the XView Toolkit is available from the directory

You will probably not want to build XView from source (although you can do it). You are better off just installing pre-built binaries, if they are available for your system. Here are some locations where you can obtain pre-built XView binaries for several different platforms Of the above, I can vouch only for the HP-UX binaries. They seem to work fine under HP-UX 10.20. I've also successfully tested fplan under Sun Solaris 5.2. If you have better information, drop me a note and I will add or make appropriate corrections to the above list.

GNOME and Gtk+ Toolkits

If you want to use the optional GNOME implementation of the graphics previewer under Unix/X11, you will need the latest gnome-libs (0.99.3 or higher) and the latest Gtk+ libraries. They are available from

Once the GNOME libraries are more widely available (they came out of beta only just recently), the GNOME version will become the default.

Make Utility

Although it's not really essential, it's very helpful to have a make utility. The provided Makefile is not very complicated. It should work with most Unix make utilities, as well as ports of make to non-Unix environments. For building under OS/2 and MS-DOS using the GCC/EMX compiler by Eberhard Mattes, use Makefile.EMX.

Configuration and Compilation

Here is an outline of the steps required to build fplan from source;

  1. Edit the config.h header file to specify the directories where fplan will look for the common, system wide and the user's personal database files. The directory for the common database files must be consistent with where the Makefile will install them (part of the next step).
  2. Edit the Makefile to reflect your environment. You will need to edit various macros to specify which compiler to use, where the XView header and library files reside, and where things should be installed. I won't go into specifics here since each macro you will need to edit is described by comments in the Makefile.
  3. Run "make" to build the executables. If the build fails at some point, it is possible that your changes to the Makefile in the above step don't correctly reflect your environment.
  4. Run "make install" to install the executables. If you are installing fplan in directories like /usr/bin that are owned by root, this step (and the next two) will likely require that you log in as root to have the required privileges.
  5. Run "make install-man" to install the man pages. If you want to install the html format of the user's guide for browsing online, you will need to do that by hand.
  6. To install the database files, unpack the airports.nav and vors.nav files from the database distribution into the build directory. Then run "make install-dbs" to install them into the directory where fplan expects them.

The user's guide (this document) is written in SGML (Standard Generalized Markup Language) format. SGML documents are translatable into popular formats such as standard HTML as well as LaTeX (and dvi, postscript from there). The converted formats are up to date with respect to the SGML version when the distribution was packaged (by running a "make doc"). If you make changes to the master SGML format documents, you will need the SGMLtools formatting system to update the other formats, available from

Building from the Source RPM Package

For Red Hat Linux users that want to rebuild from source, the RPM format of the source distribution is the obvious choice. If you insist on using graphical user interfaces to do things, you're going to have to grit your teeth this time. Here's an outline of the commands used to rebuild and install the new package;

             # install the fplan source package
             % rpm -Uhv /path_to_src_package/fplan-1.4.2-1.src.rpm
             # change to the directory where spec file is located
             % cd /usr/src/redhat/SPECS
             # build the binary package
             % rpm -bb fplan.spec
             # install the binary package
             % rpm -Uhv ../RPMS/i386/fplan-1.4.2-1.i386.rpm
Of course, you have to be the root user to do the above. Unlike the binary distribution, you must have the XView header files and libraries installed on your system to rebuild from source. If you don't already have them, you can likely find them from the extensive RPM database maintained by the rpm2html developers at


Previous Next Contents