Windows - MSYS2
Install MSYS2
Get MSYS2 and install it where you have read/write privileges (e.g. C:\msys64).
Open a MSYS terminal and perform basic configuration
pacman -Syu
When asked to do so, close the terminal (ignore the warning saying that a process is running), and open a new one
pacman -Su
Get pre-compiled packages
Open a MSYS terminal
pacman -S make
pacman -S mingw-w64-x86_64-tools-git
pacman -S mingw-w64-x86_64-gcc-fortran
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-swig
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-eigen3
pacman -S mingw-w64-x86_64-intel-tbb
pacman -S mingw-w64-x86_64-openblas
# python 3
pacman -S mingw-w64-x86_64-vtk
pacman -S mingw-w64-x86_64-python3
pacman -S mingw-w64-x86_64-python3-numpy
pacman -S mingw-w64-x86_64-python3-scipy
pacman -S mingw-w64-x86_64-python3-matplotlib
# optional (needed to build the documentation)
[pacman -S mingw-w64-x86_64-doxygen]
[pacman -S mingw-w64-x86_64-graphviz]
Notes:
- A python binding for vtk is currently broken (vtkIOMySQL). To disable it, comment the related line in path/to/msys/mingw64/lib/python3.8/site-packages/vtkmodules/all.py (around line 86:
from .vtkIOMySQL import *
) - nb lpx : 11/2020 : the upper problem seems to have been solved
Compile packages
- MUMPS (optional)
Get MUMPS with CMake. Open a MSYS-MINGW64 terminal
mkdir build && cd build
export MINGW_LOC=/path/to/msys/mingw
cmake -C ../Cmake/msys.cmake ..
make [-j4] install
- MS-MPI (optional)
Install MSMPI and the related SDK and copy the header
cp "$MSMPI_INC/mpi.h" /path/to/msys/mingw64/include
Modify mpi.h by adding #include <stdint.h>
just above typedef int_64t MPI_Aint;
- mpi4py (optional)
Get mpi4py. Open a MSYS-MINGW terminal and install mpi4py
python setup.py build
python setup.py install
Install packages
Install gmsh and add it to MSYS path. Open a WINDOWS console (admin mode)
mkdir \path\to\msys\usr\local\bin
mklink \path\to\msys\usr\local\bin\gmsh.exe "\path\to\gmsh"
Build
Get git for windows, or alternatively, install git using pacman (pacman -S mingw-w64-x86_64-git
), then clone DART
git lfs install # enable large file support
git clone git@gitlab.uliege.be:am-dept/dartflo.git
cd dartflo
git submodule init
git submodule update
Compile and test DART in a MSYS-MINGW terminal
mkdir build && cd build
export INCLUDE="${INCLUDE}:/mingw64/include/eigen3"
cmake -C ../ext/amfe/CMake/msys2.cmake ..
make [-j4]
ctest [-j4]
[make install]
For a complete list of options, refer to the build page.
Note: test tbox/mpi/helloworld.py requires MS-MPI and mpi4py to work
Run an example
From the DART root directory,
python run.py dart/tests/lift.py [-k4] [--nogui]