CAPD DynSys Library  4.0
Compilation

Preparing configure script

This step is needed if you have a fresh version from the SVN repositories or if you changed one of the configure.in files. If you downloaded the CAPD source code from the webpage, this step MUST be skipped.

In capd directory invoke

autoreconf --install
Note
Packages autoconf and libtool need to be installed.

Configuration

The configure script checks system configuration and generates Makefiles with proper parameters for compilation (from Makefile.in files). Typically it is called with one parameter

./configure --prefix prefix_path

where prefix_path is localization where libraries and header files will be installed after successful compilation e.g.

./configure --prefix $HOME/local/capd

See also list of other configure options.

List of configure options

All available configure options for a current package are displayed by typing

  ./configure --help 

and for all packages by

 ./configure --help=recursive

Important options are:

  1. prefix
    • –prefix <path> - sets path where library will be installed,
  2. filib - Fast Interval library
    • –with-filib=check - if package capdDynSys is present then internal version of filib from capdExt is used, otherwise filib is not compiled nor used.
    • –with-filib=no - filib is not compiled nor used, we use CAPD intervals,
    • –with-filib=internal - version of filib from capdExt is compiled and used,
    • –with-filib=<path> - filib version installed in <path> is used, "internal" version in capdExt is not compiled.
  3. boost - Boost C++ library
    • –with-boost=check - if package capdRedHom is present then internal version of boost from capdExt is used, otherwise boost is not compiled nor used.
    • –with-boost=no - boost is not compiled nor used, we use CAPD intervals,
    • –with-boost=internal - version of boost from capdExt is compiled and used,
    • –with-boost=<path> - boost version installed in <path> is used, "internal" version in capdExt is not compiled.
  4. mpfr - Multi-Precission library
    • –with-mpfr=check - checks if mpfr package is installed. If mpfr is present, then multi-precision version of CAPD library and examples will be compiled
    • –with-mpfr=yes - assumes that mpfr package is installed, multi-precision CAPD will be compiled and installed
    • –with-mpfr=no - does not use mpfr, multi-precision CAPD is not available
  5. gui - decides if versions of the CAPD that contains graphic module krak (e.g. capd-gui ) will be created. By default this option is enabled if required graphical libraries are present.
    • –without-gui - disable support for graphic.
    • The following options allows to choose kernel of graphic module krak:
      • –with-wx-config=<path> - krak graphic module will use wxWidgets (this is default setting). It sets the path where wx-config is installed. If <path> is not given it search for wx-config on PATH.
      • –with-wx-config=no, –without-wx-config - krak does not use wxWidgets, it will search for X11 library,
      • –with-x - the X11 graphic library will be used in krak.

Compilation and Installation

In capd directory call

make it compiles libraries, programs and examples.
make check it compiles and runs tests.
make install it copies header files, programs, libraries and files for pkg-config to <prefix>.
Note
The above steps can be made in some subdirectory, so that only one package or module will be compiled.
The last command can require administrator rights depending on <prefix>.

If all the above steps succeeds then

  • <prefix>/bin will contain all programs.
  • <prefix>/lib will contain libraries.
  • <prefix>/lib/pkgconfig will contain files for pkg-config.
Note
CAPD library contains dynamically linked libraries therefore on some systems additional configuration may be needed.
On linux you probably should call ldconfig or set LD_LIBRARY_PATH variable.

Compilation outside source directory

We recommend to create directory outside the capd directory and call configure script and make from this directory.
This way all binary files won't be mixed with source code. Moreover it allows to have at the same time several versions of the CAPD library compiled with different options.

Suppose that we are just outside capd directory. Then the compilation of CAPD library that uses only double precision and without graphics might be done by

mkdir capd_nogui
cd capd_nogui
../capd/configure --prefix=/usr/local --without-gui --without-mpfr
make