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 versions 9.4 and 11.4. Expected to work with version >= 9.0.
Clang/LLVM (C/C++)
Known to work with versions 10 and 12. Expected to work with version >= 5.0
Works with the versions included in Xcode 13.0 and 14.3.1.
Intel compilers (C/C++/Fortran)
Known to work with the Intel OneAPI Compilers (version 2022.0.2).
Some earlier versions of the Intel compiler (including the 2017 version) are NOT RECOMMENDED because of a bug in the C compiler.
Microsoft compilers (C/C++)
Known to work with Visual Studio 2017 (MSVC 14.1), Visual Studio 2019 (MSVC 14.2) and Visual Studio 2022 (MSVC 14.3).
MinGW (C/C++/Fortran)
http://mingw-w64.org/doku.php (64-bit)
http://tdm-gcc.tdragon.net/ (64-bit)
Known to work with Mingw-w64 12.2.
Other Required Software#
SCons:
Works with versions >= 3.0.0
On Windows, more recent SCons versions are required to support each new version of the MSVC compiler.
Python:
Works with versions >= 3.8.
Boost
Known to work with versions 1.71, 1.74, and 1.82; Expected to work with versions >= 1.70
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 >= 3.0 and <= 7.2.
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 ascmake -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 6.1.2 through 11.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.
Optional Dependencies#
-
Required to build the Cantera Python module, and to run significant portions of the test suite.
Expected to work with versions >= 1.12.0. 1.16.0 or newer is recommended.
-
Required version >=0.29.31 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
Known to work with versions 0.15.42, 0.15.87, and 0.16.5
Expected to work with versions >= 0.15.0
-
Required to read and write data files in the HDF5 format
Known to work with versions 1.12 and 1.14.
-
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.
Version 2.5.0 or newer is required.
-
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.
-
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 2022a. 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.
Packages required for building Sphinx documentation
Sphinx, version 7.0.0 or newer
PyData Sphinx theme, version 0.14.1 or newer
MyST Parser, version 2.0.0 or newer
MyST-NB, version 1.0.0 or newer
Sphinx Gallery, version 0.15.0 or newer
Sphinx-copybutton, version 0.5.2 or newer
sphinx-design, version 0.5.0 or newer
sphinxcontrib-bibtex, version 2.6.2 or newer
-
Install forked version from Cantera organization on GitHub by running
pip install "git+https://github.com/Cantera/sphinx-tags.git@main"
Pygments, version 2.17.2 or newer
pyparsing, version 3.1.2 or newer
sphinx-argparse, version 0.4.0 or newer
doxylink, version 1.12.3 or newer
matlabdomain, version 0.21.5 or newer
A working LaTeX installation (The conda
texlive-core
package will suffice)Packages needed to run the examples for the example gallery:
-
Required for building the C++ API Documentation
Version 1.8 or newer is recommended.
-
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
-
Required for experimental code generation (example: .NET interface)
Known to work for Jinja 3.1.4
-
Required for the compilation of the experimental .NET interface
Known to work for the .NET 6.0 SDK