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. Cantera requires compiler versions that support features from the C++20 standard. A Fortran compiler is required only if you plan to build the Fortran module.

  • GCC (C/C++/Fortran): Works with versions >= 13.2.

  • Clang/LLVM (C/C++): Works with versions >= 18.0.

    • This includes the versions included in Xcode >= 15.3.

  • Intel OneAPI compilers (C/C++/Fortran): Works with versions >= 2023.1.

  • Microsoft compilers (C/C++): Works with Visual Studio 2019 versions >= 16.11 (MSVC runtime version 14.29) or any version of Visual Studio 2022.

  • MinGW (C/C++/Fortran): Works with versions >= 13.0.

Other Required Software#

  • SCons:

    • Works with versions >= 4.5.0

    • On Windows, more recent SCons versions are required to support each new version of the MSVC compiler.

  • Python:

    • Works with versions >= 3.12.

  • Boost

    • Expected to work with Boost versions >= 1.83.

    • 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 and you have checked out the Cantera source code using Git, SUNDIALS will be automatically downloaded and the necessary portions will be compiled and installed with Cantera.

    • Known to work with versions >= 6.4 and <= 7.5.

    • 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 as cmake -DCMAKE_C_FLAGS=-fPIC <other command-line options>

  • Eigen

    • If Eigen is not installed and you have checked out the Cantera source code using Git, Eigen will be automatically downloaded and installed with Cantera.

    • Known to work with version 3.4.0.

  • fmt

    • If fmt (previously known as cppformat) is not installed and you have checked out the Cantera source code using Git, fmt will be automatically downloaded and the necessary portions will be compiled and installed with Cantera.

    • Known to work with versions 9.1 through 12.0.

  • yaml-cpp

    • If yaml-cpp is not installed and you have checked out the Cantera source code using Git, it will be automatically downloaded and the necessary portions will be compiled and installed with Cantera.

    • Known to work with version 0.7.0. Version 0.6.0 or newer is required.

  • Doxygen

    • Required for building the C++ API Documentation

    • Required to generate the C and .NET interfaces.

    • Version 1.8 or newer is recommended.

  • Jinja2

    • Required for generated CLib and .NET.

    • Expected to work with versions >= 2.6.

    • Version 2.10 or newer is recommended.

Optional Dependencies#

  • NumPy

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

    • Expected to work with versions >= 1.26.4.

  • Cython

    • Required version >=3.0.8 to build the Python module.

  • pip (Python)

    • Required to build the Cantera Python module.

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

  • wheel (Python)

    • Required to build the Cantera Python module.

  • setuptools (Python)

    • Required to build the Cantera Python module.

  • ruamel.yaml (Python)

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

    • Expected to work with versions >= 0.17.16

  • libhdf5

    • Required to read and write data files in the HDF5 format

    • Known to work with versions 1.12 and 1.14.

  • HighFive

    • Required to read and write data files in the HDF5 format

    • If HighFive is not installed and you have checked out the Cantera source code using Git, HighFive will be automatically downloaded and the necessary portions will be compiled as part of the Cantera build process.

    • HighFive version 2.10 or newer is required.

  • Google Test

    • If Google Test is not installed and you have checked out the Cantera source code using Git, Google Test will be automatically downloaded and the necessary portions will be compiled as part of the Cantera build process.

    • Required to run significant portions of the test suite.

    • Known to work with version 1.11.0.

  • pytest

    • Required to run the Python test suite.

    • Known to work with version 7.2.0

  • MATLAB

    • Required to run the experimental MATLAB toolbox.

    • Known to work with R2025b. Expected to work with versions >= R2024a.

  • Windows Installer XML (WiX) toolset

    • Required to build MSI installers on Windows.

    • Known to work with versions 3.5 and 3.8.

  • Packages required for building Sphinx documentation

  • 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

  • .NET

    • Required for the compilation of the experimental .NET interface

    • Known to work for the .NET 8.0 SDK