Installation

Requirements

Marmot itself requires the Eigen library, autodiff autodiff, and Fastor.

These are header-only libraries, so no compilation is required.

Building with Anaconda

Building with anaconda is the easiest way to get a working version of Marmot.

Assuming that you are in an empty directory, you can quickly get a working version of Marmot in a Linux based environment:

Installation steps

If necessary, get Miniforge:

Step 1
 curl -L -O \
     https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
 bash Miniforge3-Linux-aarch64.sh -b -p ./miniforge3

Add conda to your environment:

Step 2
 export MARMOTROOT=$PWD
 export PATH=$MARMOTROOT/miniforge3/bin:$PATH
 conda init --all
 exit

Restart shell and activate conda

Step 3
 export MARMOTROOT=$PWD
 conda activate
 mamba install cmake make compilers

Get Eigen:

Step 4
 cd $MARMOTROOT
 git clone --branch 3.4.0  https://gitlab.com/libeigen/eigen.git
 cd eigen
 mkdir build
 cd build
 cmake \
     -DBUILD_TESTING=OFF  \
     -DINCLUDE_INSTALL_DIR=$CONDA_PREFIX/include \
     -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
     ..
 make install

Get autodiff:

Step 5
 cd $MARMOTROOT
 git clone --branch v1.1.0 https://github.com/autodiff/autodiff.git
 cd autodiff
 mkdir build
 cd build
 cmake \
     -DAUTODIFF_BUILD_TESTS=OFF \
     -DAUTODIFF_BUILD_PYTHON=OFF \
     -DAUTODIFF_BUILD_EXAMPLES=OFF \
     -DAUTODIFF_BUILD_DOCS=OFF \
     -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
     ..
 make install

Get Fastor:

Step 6
 cd $MARMOTROOT
 git clone https://github.com/romeric/Fastor.git
 cd Fastor
 cmake -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX .
 make install
 cd ../

Get Marmot:

Step 7
 cd $MARMOTROOT
 git clone https://github.com/MAteRialMOdelingToolbox/Marmot.git
 cd Marmot
 mkdir build
 cd build
 cmake \
     -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
     ..
 make install
 ctest --output-on-failure