Installation » History » Version 13

« Previous - Version 13/17 (diff) - Next » - Current version
M. Rolf, 01/24/2013 12:26 PM


Dependencies

NemoMath depends of the following tools and libraries, which are by default installed on all recent Ubuntu Linux configurations:

  • Build system: CMake (if you install NemoMath from source)
  • Libraries:
    1. Boost (header-only parts) (on ubuntu: libboost-dev, libboost-test-dev)
    2. Eigen 2 (on ubuntu: libeigen2-dev) or Eigen 3

Supported Platforms and Compilers

NemoMath is a cross-platform, cross-compiler library which is tested and maintained for the most frequently used system configurations:

Operating System Support

  • Supported:
    1. Linux, Ubuntu 10.04 and newer
    2. Mac OS 10.7 and newer
    3. Windows 7 and newer

Compiler Support

  • Supported:
    1. GCC from version 4.3, 32/64bit (tested on Ubuntu Linux)
    2. CLang3.0 (tested on MacOS)
    3. MSVC 2010 or newer (tested on Windows 7)
  • Not supported (and known not to work):
    1. GCC version 4.2, or older
    2. MSVC 2008 or older

Test configurations

These configurations are permanently tested and known to work:
  • Windows 7, Microsoft Visual Studio 2010, Boost 1.44.0, Eigen 2
  • Mac OS 10.7 "Lion" 64bit, Clang 2.1.0, Boost 1.47.0, Eigen 3.1.0
  • Ubuntu Linux 10.04 "Lucid Lynx" 32bit+64bit, GCC 4.4.3, Boost 1.40.0, Eigen 3.0.0
  • Ubuntu Linux 12.04 "Precise Pangolin" 32bit+64bit, GCC 4.6.3, Boost 1.46.1, Eigen 3.0.5
  • Ubuntu Linux 12.10 "Quantal Quetzal" 32bit+64bit, GCC 4.7.2, Boost 1.49.0, Eigen 3.0.93

Pre-Configured Installation

Debian packages

This is the recommended installation procedure for NemoMath on Ubuntu Systems.

Packages for Ubuntu Linux are constantly built on our continuous integration server for
  • Ubuntu Linux 10.04 "Lucid Lynx" 32bit + 64bit
  • Ubuntu Linux 12.04 "Precise Pangolin" 32bit + 64bit
  • Ubuntu Linux 12.10 "Quantal Quetzal" 32bit + 64bit

They can easily be downlaoded from out Package Server. Follow the link to get further instructions.

Gar System Installer

  1. Check out CITEC Gar System Installer from https://projects.cit-ec.uni-bielefeld.de/svn/gar-installer/trunk/
  2. Go into sub-folder cor-lab/NemoMath
  3. On your console type
    • make install

Install from Source

A "header only" library

Getting and installing the course

  1. Check out SVN https://code.cor-lab.org/svn/nemomath/trunk/nemomath
  2. On your console type
    cd nemomath/build && cmake .. -DCMAKE_INSTALL_PREFIX=$prefix && make && make install
    

Install and Compile Options

The following options manipulate the way NemoMath works during compilation time:

  • CMake option: USE_CPP_0X (default: true)
    • Enables NemoMath to use C++ features from the latest standard. This option is mandatory except on GCC 4.3, where fallbacks for critical features (declared type of expressions) are available.
    • If enabled, MathVector and Matrix instances can be constructed by C++11 initialization lists.
    • The option can be steered on compiler level by defining the C++ macro NEMO_HAS_CPP0x, or not.
  • CMake option: ABORT_ON_ERROR (default: false)
    • By default, NemoMath throws C++ exceptions in case of runtime errors. This option allows to disable exceptions and call abort() in case of an error.
    • In particular on older compilers (e.g. GCC 4.4), this can have a tremendeously positive impact on performance (see Benchmarks in #821).

Using NemoMath