ALTA  alpha
Installing ALTA

To access the sources of ALTA, clone the public Git repository:

$git clone https://gitlab.inria.fr/alta/alta.git  ## Dependencies ALTA consists of three parts: the Core, Plugins, and Commands list. The core has a number of mandatory dependencies, while plugins may have optional dependencies. The mandatory dependencies are: • the SCons build system; • a C++11 compiler, such as recent versions of GCC or Clang; • Eigen >= 3.0 (libeigen3-dev package on Debian and derivatives; libeigen3 in MacPorts; eigen in Brew.) Optional dependencies that will allow more plugins to be built include: • pkg-config is optional but highly recommended on GNU/Linux and MacOS X to help find common dependencies and their compiler and linker flags; • Quadprog++, for rational_fitter_quadprog; this one is shipped with ALTA in the external directory; • the NlOpt non-linear optimization library (libnlopt-dev on Debian and derivatives); • the IpOpt library for large-scale ​non-linear optimization (coinor-libipopt-dev on Debian and derivatives); • the CERES solver library, for nonlinear_fitter_ceres; • the OpenEXR high-dynamic range file format library (libopenexr-dev on Debian and derivatives, openexr for MacPorts and Homebrew); • CGAL, for some plugins (libcgal-dev on Debian and derivatives); • libFLANN, for the data_interpolant plugin (libflann-dev on Debian and derivatives, flann for MacPorts and Homebrew); • CppQuickCheck, for the optional specification-based unit tests on randomly-generated inputs; • MATLAB with the Engine library, for some plugins. #### Note for Ceres installation for Debian/Ubuntu distribution To improve the numerical stability of the different solvers, it is highly recommended to install the following packages: • libatlas-base-dev • libsuitesparse-dev ## Portability ALTA is developed as a cross-platform library, with support for several OSes (GNU/Linux, MacOS X, Microsoft Windows) and several C++ compilers (GCC, Clang, MSVC). ALTA is under continuous integration, where several combinations are tested. ## Building To build ALTA, simply run SCons from the top-level source directory: $ scons


By default, the build system automatically checks whether the required dependencies are met, and which of the optional dependencies are available. All the compilation byproducts go to the sources/build sub-directory.

If Eigen could not be found, it is automatically downloaded from upstream. The downloaded file is integrity-checked, and then the software is built and installed under the external/build sub-directory of the source tree.

This automatic behavior can be disabled by running:

$scons --no-externals  Lastly, the default settings of the build system, such as the compiler being used and locations of libraries and headers, can be overridden in a configuration file: $ scons --cfg=my-config.py


Here my-config.py must define SCons construction variables in Python syntax. The list of configuration variables and their default values can be seen by running:

$scons --help  Examples of configuration files are provided under configs/scons. ## Configuration of the environment To have a direct access to ALTA's commands and plugins from the command line and from python, we recommend to use our environment setters scripts. On Linux/OSX, please source setpath.sh from the terminal: $ source setpath.sh


On MS Windows, please excecute the script setpath.bat from the command line:

$./setpath.bat  Programs and plugins will be accessible from the command line without requiring to specify the absolute or relative path to your current position. ## Testing ALTA comes with a test suite that can be run with: $ scons tests


This command should succeed (return an exit code of zero.) If that is not the case, please post the command output, the .log files from the sources/tests directory, and the version of ALTA and its dependencies to the mailing list.