As a prerequisite, Python and some Python modules must be installed. For the recommended installation under pyenv, see
Further required software:
gcc
or clang
)cmake >= 3.20
gsl >= 1.15
(GNU scientific library)fftw3 >= 3.3.1
(fast Fourier transform)libtiff >= 4.0.2
(TIFF image loader)libcerf >= 2.0
(complex error function) [1]boost >= 1.65
[2]Qt6
[1] The library libcerf happens to be maintained by our own group. Nonetheless it is treated as an external dependency because packages are provided by all major Linux distributions (see https://pkgs.org).
[2] From libboost, we need the library components iostreams
and program_options
.
Internally, the CMake command to find boost::iostreams
may add a dependence
on boost::regex
. Furthermore, we need a number of header-only components,
including algorithm/string
, bimap
, geometry
, numeric/interval
, polymorphic_cast
.
Recommended software:
perl
texlive-latex-extra
(and dependencies)dvipng
cm-super-minimal
All these can be easily installed on most Linux distributions using
the system’s package manager. Below are a few examples for several
selected operating systems. Note that other distributions
(Fedora, Mint, etc) may have different commands for invoking the
package manager and slightly different names of packages (like boost
instead of libboost
etc). Besides that, the installation should be
very similar.
Install required packages:
$ sudo apt-get install build-essential git cmake \
libgsl-dev libfftw3-dev libtiff5-dev \
python3 python3-dev python3-pip python3-numpy python3-matplotlib python3-lmfit \
libboost-dev libboost-iostreams-dev \
libboost-program-options-dev libboost-regex-dev \
libcerf-dev qt6-base-dev qt6-svg-dev
Note: Normally we should also depend on libcerf-dev
,
which however is presently outdated.
Therefore Debian users should install libcerf from source,
https://jugit.fz-juelich.de/mlz/libcerf.
Install required packages:
$ sudo zypper install gcc-c++ git-core cmake gsl-devel \
libboost_*-devel fftw3-devel libcerf-devel libtiff-devel \
python3-devel python3-pip \
python3-numpy-devel python3-matplotlib python3-lmfit \
libqt6-qtbase-devel libqt6-qttools-devel libqt6-qtsvg-devel
To install third-party dependencies on MacOS, we recommend using the package manager Homebrew:
brew install git cmake fftw gsl libcerf python boost libtiff qt6
pip3 install matplotlib numpy
Homebrew installs all packages to /usr/local
. Possibly,
this path has to be passed to CMake using the argument -DCMAKE_PREFIX_PATH
(see the build instructions).
Add Qt to your path environment variable:
export PATH=/usr/local/opt/qt6/bin/:$PATH