Software used by Cantera

This section lists the versions of third-party software that are required to build and use Cantera.

Compilers

You must have one of the following C++ compilers installed on your system. A Fortran compiler is required only if you plan to build the Fortran module.

  • GNU compilers (C/C++/Fortran)

    • Known to work with version 4.8; Expected to work with version >= 4.6

  • Clang/LLVM (C/C++)

    • Known to work with versions 3.5 and 3.8. Expected to work with version >= 3.1.

    • Works with the version included with Xcode 8.2.1 and 9.4.1.

  • Intel compilers (C/C++/Fortran)

  • Microsoft compilers (C/C++)

    • Known to work with versions 12.0 (Visual Studio 2013) and 14.0 (Visual Studio 2015).

  • MinGW (C/C++/Fortran)

Other Required Software

  • SCons:

  • Python:

  • Boost

    • https://www.boost.org/users/download/

    • Known to work with version 1.54; Expected to work with versions >= 1.48

    • Only the “header-only” portions of Boost are required. Cantera does not currently depend on any of the compiled Boost libraries.

  • SUNDIALS

    • If SUNDIALS is not installed, it will be automatically downloaded and the necessary portions will be compiled and installed with Cantera.

    • https://computation.llnl.gov/projects/sundials/sundials-software

    • Known to work with versions >= 2.4, including the 3.x series.

    • To use SUNDIALS with Cantera on a Linux/Unix system, it must be compiled with the -fPIC flag. You can specify this flag when configuring SUNDIALS (2.4 or 2.5):

      configure --with-cflags=-fPIC

      or SUNDIALS 2.6 or higher:

      cmake -DCMAKE_C_FLAGS=-fPIC <other command-line options>

    Note

    If you are compiling SUNDIALS 2.5.0 on Windows using CMake, you need to edit the CMakeLists.txt file first and change the lines:

    SET(PACKAGE_STRING "SUNDIALS 2.4.0")
    SET(PACKAGE_VERSION "2.4.0")

    to read:

    SET(PACKAGE_STRING "SUNDIALS 2.5.0")
    SET(PACKAGE_VERSION "2.5.0")

    instead, so that Cantera can correctly identify the version of SUNDIALS.

  • Eigen

  • fmt

    • If fmt (previously known as cppformat) is not installed, it will be automatically downloaded and the necessary portions will be compiled and installed with Cantera.

    • http://fmtlib.net/latest/index.html

    • Version 3.0.1 or newer is required.

  • Google Test

    • If Google Test is not installed, it will be automatically downloaded and the necessary portions will be compiled as part of the Cantera build process.

    • https://github.com/google/googletest

    • Known to work with version 1.7.0.

Optional Programs

  • Numpy

    • Required to build the Cantera Python module, and to run significant portions of the test suite.

    • Known to work with versions 1.8.1-1.14.0. Expected to work with versions >= 1.8.1.

    • Must be installed for each of the Python packages that will be built

  • Cython

    • Required version >=0.23 to build the Python module. Must be installed for the same Python where SCons is installed.

  • Ruamel.yaml

    • Required to convert input files from Chemkin, CTI, and XML to the YAML format

    • Known to work with versions 0.15.42, 0.15.87, and 0.16.5

    • Expected to work with versions >= 0.15.0

  • 3to2

    • Used to convert Python examples to Python 2 syntax.

    • Known to work with version 1.0

  • Matlab

    • Required to build the Cantera Matlab toolbox.

    • Known to work with 2009a and 2014b. Expected to work with versions >= 2009a.

  • Windows Installer XML (WiX) toolset

    • Required to build MSI installers on Windows.

    • Known to work with versions 3.5 and 3.8.

  • Pip (Python)

    • Provides the pip command which can be used to install most of the other Python modules.

  • Packages required for building Sphinx documentation

  • Doxygen

    • Required for building the C++ API Documentation

    • Version 1.8 or newer is recommended.

  • Graphviz

    • Required to build the dependency graph images in the C++ API Documentation

    • Known to work with version 2.40.1, expected to work with versions >=2.40.1