The packages represent complete stages of the software development. After installation they should work without major problems, although these can never be excluded totally.
The cvs code is under development. New versions are uploaded frequently. Although it does contain additional features, it must also be expected that there are major bugs. Thus, the cvs code should only be downloaded by experienced users. Please report any bugs that you find to the author.
For both, packages and cvs code, you will need the Quantities and the BSUtilities software. The latter does provide some basic utility functions.
You need the Boost library, which is included in most modern Linux installations. Sometimes this library is located in a standard directory (e.g. /usr/include
). However, you may have it installed in a different place on your file system. You will have to define the location of your Boost library and header files as discussed below. 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.
At least some parts of the Boost C++ library have to be installed (the filesystem, date_time, and serialization libraries are essential; add --with-libraries=filesystem,date_time,serialization
to the configure flags if you compile Boost from source; note that other software that uses Quantities may need additional Boost libraries).
You need to have installed A. Alexandrescu's Loki library. Versions up to 0.1.7 were used for development. Make sure that you use the library (libloki
) generated by the Loki make
process, since the *
.cpp files of the Loki code are not added to the Makefiles of Quantities (for pertinent details, see Loki README): Unpack the Loki tar-ball in a directory of your choice. Go to subdirectory loki-x.y.z
(with x, y, and z denoting the Loki version) and type make
. After compilation, type make install
. This will install the Loki headers in /usr/include/loki
, and the Loki libraries (libloki.a
, libloki.so
; the latter is a link to libloki.so.x.y.z
) in /usr/lib
. Consequently, you will need to have write permission in these directories. If this is not the case, you need to edit the Loki Makefile
or Makefile.common
(variable prefix
).
You need the utility tools in package BSUtilities (version >= 0.6.2). Download and install this package according to the instructions given in the BSUtilities documentation.
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.--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 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-<version>/documentation/html/index.html
to access the full Quantities documentation. make check
xxx/test
, where xxx
is Quantity
, PhysicalQuantities
, MathematicalQuantities
, or GeneralQuantities
. 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
make check
_source_directory_/xxx/test
, where xxx is Quantity
, PhysicalQuantities
, 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 Using the Test Programs.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_>.
back to Quantities start page