Skip to content
Update Developer Installation authored by Shuran Wang's avatar Shuran Wang
......@@ -19,13 +19,13 @@
- git: ``sudo apt-get install git``.
- tar: ``sudo apt-get install tar``.
- cpuid: ``sudo apt-get install cpuid``.
- Modern compiler with ``C++11`` support (recen g++, clang, Ubuntu 16.04/Xenial and recent Mac OS clang work fine).
- Modern compiler with ``C++20`` support (recen g++, clang, Ubuntu 24.04 and recent Mac OS clang work fine).
- git-lfs.
- [CMake](cmake) version >= 3.12.
- [Mosek Fusion C++ API](https://www.mosek.com/downloads/9.1.13/) version 9.1 - Mosek is the optimization library that PDT-SPACE uses to solve convex optimization problems. The library provides a free academic license for faculty and students that can be downloaded from their website.
- [Boost](www.boost.org) version >= 1.58.0 with serialization, timer, date\_time, system, program\_options unit\_test\_framework compiled
- [CMake](cmake) version >= 3.28.3
- [Mosek Fusion C++ API](https://www.mosek.com/downloads/11.0.13/) version 11.0 - Mosek is the optimization library that PDT-SPACE uses to solve convex optimization problems. The library provides a free academic license for faculty and students that can be downloaded from their website.
- [Boost](www.boost.org) version >= 1.83.0 with serialization, timer, date\_time, system, program\_options unit\_test\_framework compiled
(Ubuntu package ``libboost-all-dev``)
- [VTK](https://www.vtk.org) 7.1.1 - needs to be built from source (it uses CMake, so see section [CMake](cmake))
- [VTK](https://www.vtk.org) 9.4.1 - needs to be built from source (it uses CMake, so see section [CMake](cmake))
- [Eigen](eigen.tuxfamily.org/) version >= 3.0 - can be install using ``sudo apt-get install libeigen3-dev``. Eigen3 is a C++ template library for linear algebra.
- [FullMonteSW](gitlab.com/FullMonte/FullMonteSW) Fastest open-source tetrahedral Monte Carlo simulator for light propagation in biological tissues. Please, follow their [wiki](https://gitlab.com/FullMonte/FullMonteSW/-/wikis/Developer-Guide#native-development-install-linux-only) to see how to install it.
......@@ -41,15 +41,15 @@
4. Install Mosek as follows:
```
> cd $HOME
> curl -L https://download.mosek.com/stable/9.1.13/mosektoolslinux64x86.tar.bz2 -o mosek.tar.bz2
> curl -L https://download.mosek.com/stable/11.0.13/mosektoolslinux64x86.tar.bz2 -o mosek.tar.bz2
> tar -xjf mosek.tar.bz2
> cd mosek/9.1/tools/platform/linux64x86/src/fusion_cxx
> cd /usr/local/mosek/11.0/tools/platform/linux64x86/src/fusion_cxx
> make install
```
This will install Mosek version 9.1.13 under ``$HOME/mosek/9.1/tools/platform/linux64x86``.
This will install Mosek version 11.0.13 under ``$HOME/mosek/11.0/tools/platform/linux64x86``.
- **Note:** You still need to obtain a [Mosek License](https://www.mosek.com/products/academic-licenses/) and store it under your ``$HOME`` directory.
5. Install boost 1.58 by typing: ``sudo apt-get install libboost-all-dev``.
6. Install VTK 7.1.1 by following the instructions in this [guide](vtk#how-to-install).
5. Install boost 1.83 by typing: ``sudo apt-get install libboost-all-dev``.
6. Install VTK 9.4.1 by following the instructions in this [guide](vtk#how-to-install).
7. Install FullMonteSW by following this [guide](https://gitlab.com/FullMonte/FullMonteSW/-/wikis/Developer-Guide#native-development-install-linux-only). We will refer to the build directory of FullMonteSW by ``$FULLMONTE_BUILD_DIR``.
## Installing PDT-SPACE
......@@ -86,11 +86,15 @@
```
> cmake \
-DARCH=${AVX_ARCH} \
-DCMAKE_CXX_COMPILER=/usr/bin/g++-13 \
-DCMAKE_C_COMPILER=/usr/bin/gcc-13 \
-DMOSEK_PREFIX=/usr/local/mosek-11.0.13/11.0/tools/platform/linux64x86 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER=${OUT_CXX} \
-DCMAKE_C_COMPILER=${OUT_C} \
-DFullMonteSW_DIR=${FULLMONTESW_BUILD_DIR}/cmake \
-DMOSEK_PREFIX=$HOME/mosek/9.1/tools/platform/linux64x86 \
-DCMAKE_INSTALL_PREFIX=/usr/local/pdt-space \
-DVTK_DIR=/usr/local/VTK-9.4.1/lib/cmake/vtk-9.4 \
-DBOOST_ROOT=/usr/lib/x86_64-linux-gnu \
-DFullMonteSW_DIR=/usr/local/FullMonteSW/include \
-DUSE_CUDA=1 \
-DRUN_TEST=OFF \
../..
```
......
......