System Requirements for the GPSTk
This page describes what system utilities you will need to build the GPSTk. Utilities that are optional but recommended for developers are covered as well.
A Command Prompt
It is required
to use the command line or terminal to build the GPSTk on all platforms. Furthermore, the command line is used extensively by many GPSTk applications.
For Windows users, the command line is sometimes referred to as "DOS prompt". There is also a popular alternative to the Windows Command Prompt provided by the Cygwin project
. The Cygwin project provides a UNIX-like environment to Windows users. Many free software projects, such as gcc
, are pre-built and can easily be installed using the Cygwin installer. Others can be built from source code to run in the Cygwin environment, including the GPSTk.
A Modern C++ Compiler
To use the GPSTk you must have a modern, ANSI compliant C++ compiler, such as the one provided with gcc
. The GPSTk has been built successfully using the following compilers:
- GCC version 3.3, 3.4, 4.0, 4.1 under Cygwin, Linux, Solaris and AIX (as of GPSTk 1.1 or later)
- Microsoft Visual Studio .NET 2003, Visual C++ 2005 Express (as of GPSTK 1.3 or later)
- Sun Workshop 6 and Sun ONE Studio 8 (as of GPSTk 1.0 or later)
- OS X Xtools (as of GPSTK 1.5 or later)
Of course, at a minimum, to start using the GPSTk to create your own application, you will need to know how to compile a simple program, and how to link that program to a library. An example
of simple program, including basic compiling and linking using the GCC compiler, is provided on this website.
The GPSTk uses regular expressions to perform some string manipulation. This support is currently included on all platforms except the Microsoft Visual C++ compiler. For this compiler, you must install some regex capability like PCRE (http://www.pcre.org/
). You can find more detailed instructions on InstallingRegexSupportForVisualCPP
The Jam Utility
In addition to the compiler, you or your system administrator will need to install the jam
utility, a replacement for make. Jam automates the tasks necessary to create and install the GPSTk software suite. Jam is cross-platform: it works equally well for GCC as for the MS compilers.
If you don't want to download and compile the jam program from source
, then we have built these jam executables for a variety of development environments on the downloads
If you are running a Linux distribution, such as Debian or RedHat, there are jam packages you can install.
An alternative to perforce jam is boost jam. Here
you can get the source or a precompiled version of bjam. In order to use the backwards compatibility feature of bjam to perforce jam, you must either copy and rename the bjam executable to jam (copy bjam.exe to jam.exe on windows) or create a symbolic link from jam to bjam (on unix:
ln -s bjam jam
). Then you can treate jam the same as perforce jam. This has been tested to build the toolkit just as well as bjam.
If you want to build the latest library documentation, then you will need Doxygen
. Doxygen is a cross-platform utility that builds API documentation directly from source.
GPSTk library API
documentation in HTML is built and posted to the website with each stable release of the GPSTk. However, in the development versions of the GPSTk, the API may change without notice. If you use the development version of the GPSTk you will want to use Doxygen.
Application and Test Program Requirements
Each test program, script or application included with the GPSTk may require other utilities to be available and on the executable PATH. For
example, to run the test suite under UNIX or Linux, you need a shell that is sh compatible (e.g., bash
), as well as perl
Because these dependencies vary by application, we will not list those dependencies here.
Latest Subversion Build Status
This table contains the build status of the source (in subversion) on a number of platforms. The developers at Applied Research Laboratories attempt to regularly compile the source code on different platforms using jam and make. The goal is to update this table every week with status reports for each platform tested. Hopefully this will aid the development team in finding bugs quickly and addressing them in a timely manner.
19 June 2009
| || jam || make |
| Linux 32-bit || Yes || Yes |
| Linux 64-bit || Yes || Yes |
| Solaris || Yes || No |
| Cygwin || Yes || No |
| Windows || Yes || NS |
| Macintosh || Yes || NT |
- NT - Not Tested
- NS - Not Supported on this platform