Mapper

System Building

Build Instructions

Prerequisites

I developed Mapper on an Intel Pentium computer running Red Hat 6.0 (Linux 2.2.5). However, its build instructions are set up using the Autoconf software, and I have not knowingly used any system specific features, so porting it to any Unix computer should be straightforward. You must have Autoconf installed to build Mapper.

Mapper's build instructions are executed using the GNU make program. You must have GNU make installed to build Mapper.

Mapper is written in C++. You must have a C++ compiler installed to build Mapper. It uses the C++ Standard Template Library (STL), so old C++ compilers are inappropriate. I compile it using the egcs-2.91.66 version of the GCC compiler.

Mapper uses the Apache Xerces-C++ library for XML parsing and DOM manipulation. You must have Xerces-C++ compiled and installed on your computer to compile and link Mapper. I use version 1.3.0.

Procedure

  1. Download the source code to an empty directory. Make that directory your current directory.

  2. Uncompress the source code using gzip.

  3. Extract the files from the resulting tar archive.

  4. Execute the ./configure program in the current directory. The configure program will output error messages if it has difficulties. It checks whether the compilation instructions will work.

    If it has problems, you may have to set some environment variables and then repeat execution of configure. You might have to repeat execution while supplying some command-line options. In particular, you must ensure that the CPPFLAGS environment variable includes a suitable -I option that will find the Xerces header files. Refer to the autonf documentation for more information about options for configure

  5. Create the auxiliary build directories, by executing the ./mkdirs program.

  6. Compile the program, using make with all as the build target. Check the make output for compilation errors.

  7. Do the static analysis checks on the program, using make with check as the build target. The make output will include all error and warning messages. Examine it for problems. You may safely ignore any warning messages issued for the Xerces-C++ headers themselves: the checking is stricter than that used by the Xerces developers!

    Additionally, the build instructions capture the output into various files in the check directory. These checks include a quick recompilation of the program, using additional checking options. It places the result of checking the C++ file c++/name.cpp in the file check/name.cpp. The other check is to search for broken (dangling) links in the HTML documentation. The result of that check is the file check/tags.miss, which lists the URLs required but not provided.

  8. Run the tests on the program, using make with test as the build target. The make output will include all error and warning messages. Examine it for problems. You may safely ignore warnings that there are fewer than 2 fixed points. For some of the tests, numerical results are compared using a simple diff; this can produce log output because of trivial differences caused by rounding. You may safely ignore such differences. Test failures are explicitly flagged using the text error: failed test, whenever possible. You should also lookout for a crash of the test driver, which make should indicate with an error message about a non-zero exit status.

    The file test/result.tst contains a log of all the tests.

This documentation is still being written, and is therefore incomplete.
$Revision: 6.11 $ $Date: 2002/07/10 23:59:18 $