Installation

How to Get Quantities

Download the code of Quantities from the sourceforge web site through project Quantity, where both packages and cvs development code are provided.

The packages represent complete stages of the software development. After installation they should work without major problems. Instructions on how to install the package can be found here.

The cvs code is under development. New versions are uploaded more or less frequently. Although it does contain additional features, it must also be expected that there are bugs. Thus, the cvs code should only be downloaded by experienced users. Please report any bugs that you find to the author. Install the cvs version as described here.

For both, packages and cvs code, you will need the Quantities and the BSUtilities software. The latter does provide some basic utility functions.

Prerequisites for the Installation

Quantities was developed with gcc version 3.2 or later. The use of the gcc compiler for installation of Quantities is recommended. More recent versions of the compiler may be needed. The current version of Quantities was used with gcc up to version 4.5.0.

The Quantities build process relies on the autotools (see also Developer Installation).

You need to have installed A. Alexandrescu's Loki library. Versions up to 0.1.7 were used for development. It is recommended to install this or a more recent version. If you have installed BSUtilities, the Loki library is already present. For installation details, see the instruction for BSUtilities.

You need the Boost library, which is included in most modern Linux installations. Various versions starting with 1.33.1 up to 1.34.1 were used successfully for the development of Quantities. Boost version 1.35.0 fails to compile with the code, and produces `multiple definition' errors, when more than one export header is included. Version 1.34.1. is recommended. Sometimes this library is located in a standard directory (e.g. /usr/include). However, you may have it installed in a different place in your file system, in particular if you needed to install version 1.34.1 in parallel to your system's Boost installation. You will have to define the location of the Boost library and header files as discussed below.

The following sub-libraries of Boost have to be installed in addition to the header files: filesystem, date_time, serialization and wave. See the instruction for BSUtilities on how to do this. Add --with-libraries=filesystem,date_time,serialization,wave to the configure flags if you compile Boost from source. Note that other software that uses Quantities may need additional Boost libraries.

You need the utility tools in package BSUtilities (version >= 0.6.2+). Installation instructions are given in the BSUtilities documentation.

To generate the graphical user interface to Quantities, a Qt4 installation is necessary (standard on many recent Linux systems).

User Installation

Using the Test Programs

There are two types of test programs for Quantities:

At present, there is no automatic test procedure. Consequently, the various run-time test programs have to be executed one after the other. Also, the results of the compile-time test programs have to be checked by the installer. The command

make check
will compile the run-time test programs and also attempt to compile the compile-time test programs. The latter should all fail with a compiler or linker error message.

The following test programs are available:

Developer Installation

As a developer (or user) who downloaded the cvs version of Quantities, you have to create a configure script first. Autoconf, automake, and libtool must be installed.

Run

autoreconf --install

to generate the necessary files. See also the README file in <_source_directory_> and the page with specific information for developers.

As a developer, to generate a distribution package, use

make dist
or, preferably because the usability of the package is tested
make distcheck

back to Quantities start page


Generated on Wed Apr 11 18:07:08 2012 for Quantities by  doxygen 1.5.6