Preparing a new MSYS2 installation for blueCFD‐Core development - blueCFD/Core GitHub Wiki

Base installation for MSYS2

References:

Once installed, make sure to start the MSYS2 Shell (Start -> Programs -> MSYS2 -> MSYS2 Shell) and follow the update steps from here: https://www.msys2.org/wiki/MSYS2-installation/#iii-updating-packages

  • Namely, run pacman -Syuu as many times as needed.

Start the MINGW64 Shell and install the following packages:

  1. For essentials:

    pacman -S mingw-w64-x86_64-toolchain flex bison mingw64/mingw-w64-x86_64-zlib mingw64/mingw-w64-x86_64-readline mingw64/mingw-w64-x86_64-ncurses mingw64/mingw-w64-x86_64-gmp mingw64/mingw-w64-x86_64-mpfr mingw64/mingw-w64-x86_64-eigen3 tar wget patch make unzip diffutils git procps-ng
    

    It will ask if all of the members for the group mingw-w64-x86_64-toolchain are to be installed, to which you can simply press the Enter key to continue.

  2. For the basic 3rd party software:

    pacman -S mingw64/mingw-w64-x86_64-cmake mingw64/mingw-w64-x86_64-extra-cmake-modules mingw64/mingw-w64-x86_64-meld3 svn p7zip tree doxygen man  mingw64/mingw-w64-x86_64-gnuplot bc
    
  3. For the parallel libraries 3rd party software:

    pacman -S mingw64/mingw-w64-x86_64-metis mingw64/mingw-w64-x86_64-parmetis
    
  4. Extra useful packages:

    pacman -S mingw64/mingw-w64-x86_64-wxPython
    

Essential packages for blueCFD-Core 2020 and older

  • For blueCFD-Core 2020, the following were also used:

    pacman -S mingw64/mingw-w64-x86_64-boost mingw64/mingw-w64-x86_64-cgal
    

Packages which can be installed but don't work as expected yet

  1. It is also possible to install Scotch and PTScotch from MSYS2, but it was not a supported version by OpenFOAM (tests revealed that 7.0.4 would lead to stalling/stopping snappyHexMesh). Nonetheless, it can be installed with this command:

    pacman -S mingw64/mingw-w64-x86_64-scotch 
    

Preparing Git for cloning the repositories on this project

The following commands should be used to configure, in case you want to set it globally:

git config --global set core.autocrlf off
git config --global set core.safecrlf true
git config --global set core.longpaths true

Or in case you only want to do it to the repositories to be cloned:

git clone --config core.autocrlf=off --config core.safecrlf=true --config core.longpaths=true ...

Related issues

  1. See Issue #58 for the first time this was documented in out issue tracker: Issue #58 - Step #4
  2. See Issue #134, second comment after the first post: Issue #134 - Step #2