Update build_linux authored by Adrien Crovato's avatar Adrien Crovato
## Linux ## Linux
Note that these build instructions are using the GNU compilers but Intel's compiler can be used as well. Note that these build instructions are using the GNU compilers but Intel's compiler can be used as well.
**Get the code** **Get the code**
```bash ```bash
sudo apt-get install git sudo apt install git git-lfs
sudo apt-get install git-lfs git clone git@gitlab.uliege.be:am-dept/amfe.git # ssh only for developers
git lfs install # enable large file support ```
# ssh only **Required packages**
git clone git@gitlab.uliege.be:am-dept/amfe.git ```bash
``` # Common
**Required packages** sudo apt update
```bash sudo apt install build-essential cmake
# Common sudo apt-get install swig
sudo apt-get update sudo apt-get install libeigen3-dev
sudo apt-get install build-essential # Python 3
sudo apt-get install cmake sudo apt install python3-dev
sudo apt-get install swig python3 -m pip install numpy mpi4py matplotlib
sudo apt-get install libeigen3-dev # Gmsh
sudo apt-get install gmsh python3 -m pip install gmsh
# Python 3 ```
sudo apt-get install python3-dev ```bash
sudo apt-get install python3-mpi4py python3-numpy python3-scipy python3-matplotlib # Intel Math Kernel Libraries (MKL) and Threading Building Blocks (TBB)...
sudo apt-get install libvtk7-dev python3-vtk7 (https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/base-apt.html)
``` wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
```bash echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
# Intel Math Kernel Libraries (MKL) and Threading Building Blocks (TBB)... sudo apt update
cd /tmp sudo apt install intel-oneapi-tbb-devel intel-oneapi-mkl-devel
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB echo "source /opt/intel/oneapi/tbb/latest/env/vars.sh" >> ~/.bashrc
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB echo "source /opt/intel/oneapi/mkl/latest/env/vars.sh" >> ~/.bashrc
sudo rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB # ... or Openblas and default TBB
sudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list sudo apt install libopenblas-dev
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list' sudo apt install libtbb-dev
sudo sh -c 'echo deb https://apt.repos.intel.com/tbb all main > /etc/apt/sources.list.d/intel-tbb.list' ```
sudo apt-get update **Optional packages**
sudo apt-get install intel-mkl-64bit-2019.2-057 ```bash
sudo apt-get install intel-tbb-64bit-2019.2-057 sudo apt install libmumps-seq-dev
echo "source /opt/intel/mkl/bin/mklvars.sh intel64" >> ~/.bashrc sudo apt install doxygen graphviz
echo "source /opt/intel/tbb/bin/tbbvars.sh intel64" >> ~/.bashrc sudo apt install libvtk9-dev
# ... or Openblas and default TBB python3 -m pip install vtk
sudo apt-get install libopenblas-dev ```
sudo apt-get install libtbb-dev **Compilation**
``` ```bash
**Optional packages** mkdir build && cd build
```bash cmake ..
sudo apt-get install libmumps-seq-dev make [-j4]
sudo apt-get install doxygen [make dox] # to build the documentation
sudo apt-get install graphviz ctest [-E exclude_pattern] [-R include_pattern] [-j4]
``` ```
**Compilation** For a complete list of options, refer to the [build](Build) page.
```bash
mkdir build && cd build **Install**
cmake .. ```bash
make [-j4] python3 -m pip install . [--user]
[make install] # to install
[make dox] # to build the documentation
```
For a complete list of options, refer to the [build](Build) page.
**Test**
```bash
cd build
ctest [-E exclude_pattern] [-R include_pattern] [-j4]
``` ```
\ No newline at end of file