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.
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).
gunzip quantities-<versionnumber>.tar.gz tar xf quantities-<versionnumber>.tar
cd quantities-<versionnumber>
./configure <options>
--with-boost
is not given.<BSUtilities_install_directory>/lib/BSUtilities-<versionnumber><libtag>
; default is <empty>.-d
is appended to the subdirectory into which libraries are installed.-o
is appended to the subdirectory into which libraries are installed.no
(corresponding to no interface), the only legal values are `no' (for no interface) and `yes'. The type of interface can be determined with the --with-gui
option.--enable-gui
is set to `yes'. Allowed values are currently, `Qt' (default; for a Qt4 based interface) and 'yes' (corresponds to the default value). If necessary, use the --with-qt option to specify more configuration details../configure --help
. --enable
-xxx option, a corresponding --disable
-xxx option exists (and vice versa), which causes reverse behavior. --enable-shared
, --enable-static
, --disable-shared
, and/or --disable-static
options to the configure
command. ./configure --help
CXXFLAGS=-DBOOST_NO_INTRINSIC_INT64_T
make
make doc
share
directory, the build process should automatically generate links from the Quantities documentation to the relevant BSutilities pages. make doc
will delete any tag files or links (BSUtilities.tag
, quantities.tag
) that is present in the top source directory. make install
include/Quantities-<versionnumber>/xxx
(xxx
= Quantity
, PhysicalQuantities
, MathematicalQuantities
, or GeneralQuantities
) and lib/Quantities-<versionnumber><libtag>
subdirectory trees in the installation directory specified with the --prefix option (default /usr/local
), respectively, where <libtag> is either empty (neither optimization nor debug information is enabled), or a combination of -o
and -d
(either one or both options are enabled). make doc-install
share/Quantities-<versionnumber>
subdirectory in the installation directory specified with the --prefix option (default /usr/local
). file:///<_install_directory_>/share/Quantities-<versionnumber>/documentation/html/index.html
to access the full Quantities documentation. make check
xxx/test
, where xxx
is Quantity
, PhysicalQuantities
, MathematicalQuantities
, or GeneralQuantities
. The test programs are dynamically linked executables by default. If you want to generate statically linked versions, use the --enable-staticTestProgs
option to configure
. For further information, see the section on test program use. make clean make uninstall
make uninstall
removes files from the <_install_directory_>, while make clean
removes generated files in the <_source_directory_>. The command make clean
is necessary between generation of libraries with different combinations of debug and optimization options (different libtags). make doc-clean make doc-uninstall
share
subdirectory tree. make distclean
./configure --prefix=_installation_dir_ --with-BSUtilities=<_BSUtilities_install_directory_> --with-BSUtilities_version=<BSUtilities_versionnumber> --enable-onlydoc make doc make doc-install
--with-BSUtilities
and --with-BSUtilities_version
are mandatory even if only the documentation is generated. The documentation will then be in <_install_directory_>/share/Quantities-<versionnumber>/documentation
and you can direct your browser to file:///_install_directory_/share/Quantities-<versionnumber>/documentation/html/index.html
./configure --prefix=_installation_dir_ --with-BSUtilities=<_BSUtilities_install_directory_> --with-BSUtilities_version=<BSUtilities_versionnumber> --enable-latexdoc make doc make doc-install
--enable-onlydoc
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
The following test programs are available:
Quantity/test
Quantity/compiletest
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
make distcheck
back to Quantities start page