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.
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
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).
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
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).
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.
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
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
ftp://ftp.uni-bielefeld.de/pub/systems/msdos/misc/
ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/contrib/
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
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.
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.
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.
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.
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
.
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
ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/x11/
ftp://ftp.csc.liv.ac.uk/pub/xview3.2/
ftp://www.ibiblio.org/pub/Linux/X11/libs/xview/
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.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
.
Here is an outline of the steps required to build fplan from source;
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).
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
.
"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.
"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.
"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.
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
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