-
Notifications
You must be signed in to change notification settings - Fork 1
Provisioning a build machine
In order to build DASH, your system must meet some requirements. The following instructions are a manual equivalent of how we at CCDC provision the build machine that generates the DASH installers.
Any modern and patched windows operating system should fit the bill. DASH has very few hardware requirements itself.
We use chocolatey to install the various tools mentioned here, with the exception of the Intel oneAPI tools and Winteracter. We higly recommend that you use it or an equivalent package manager to install the programs below, it will save you tons of time, reduce your chances of installing malware by accident and help you keep your system update.
The Intel oneAPI legacy Fortran compiler requires a working Visual Studio 2019 installation. The Desktop development with C++ workload will provide the required components
Chocolatey Packages: choco install visualstudio2019community visualstudio2019-workload-nativedesktop
You should first install the Intel oneAPI Base Toolkit package.
At CCDC, we use the online installer and only install the GDB debugger and VTune components, thus saving gigabytes of space on tools we do not require.
You can run the online installer executable and follow the graphical interface or use the installer 'silent mode' to install what's required. The command we use roughly looks like this. Please consult the oneAPI documentation for more details as the instructions here might become stale.
w_BaseKit_p_2021.4.0.3421.exe --silent --remove-extracted-files yes --a --silent --eula=accept --components=intel.oneapi.win.dpcpp_debugger:intel.oneapi.win.vtune --intel-sw-improvement-program-consent=no
Once the Base Toolkit is installed, you need to install the oneAPI HPC Toolkit.
At CCDC, we use the online installer and only install the Fortran compiler component. The other components are not required for building DASH.
You can run the online installer executable and follow the graphical interface or use the installer 'silent mode' to install what's required. The command we use roughly looks like this. Please consult the oneAPI documentation for more details.
w_HPCKit_p_2021.4.0.3340.exe --silent --remove-extracted-files yes --a --silent --eula=accept --components=intel.oneapi.win.ifort-compiler --intel-sw-improvement-program-consent=no
Used to extract files obtained from github
Chocolatey Packages: choco install 7zip
You will need a git client to fetch the source code from github.
Chocolatey Packages: choco install git
CMake translates the instructions in the CMakeLists.txt file into a Visual Studio specific solution that can be used to build the code.
Chocolatey Packages: choco install cmake
Ninja is a modern and fast replacement for the venerable make tool. It is natively supported by CMake. We use ninja to build the code at CCDC.
Chocolatey Packages: choco install ninja
Winteracter is a GUI toolset for the Fortran programming language. It consists of various visual development tools and a substantial subroutine library. A copy must be bought from ISS and installed on your system.
WIX Toolset is used to create the installers. Before installing the chocolatey package, you must make sure that the .NET Framework 3.5 Windows Feature is installed or the chocolatey command below will hang.
Chocolatey Packages: choco install wixtoolset
Any modern Linux distribution should be able to build the code, provided the required dependencies can be installed.
The simplest way to get started is to install docker and visual studio code on your linux workstation or laptop and open the repository with it. The files in the .devcontainer folder will create an up to date Ubuntu 20.04 container with all required tools and extensions, with the exception of the Winteracter libraries.
You'll need an up to date git client to fetch this repository. apt install git
should do it.
Intel provide their fortran compiler as a free download as part of their oneAPI HPC toolkit. You can install it manually by following the HPC toolkit page instructions
Repositories for apt, yum and zypper package managers are provided. The intel-oneapi-compiler-fortran
package is the only required dependency.
Modern cmake versions have much improved support for fortran. The cmake download page provides installers and tarballs of the latest version. Install these and make sure they are first in your PATH.
You might find the Alternative Binary Releases section in that page helpful as it provides an apt repository that will keep your cmake up to date.
Our instructions require having the ninja build tool installed. Your package manager might provide it but make sure that you're using version 0.10.0 and above as it provides support for Fortran modules. If it's not, please download an up to date version from github.
Winteracter requires the OpenMotif libraries. These are typically available on most modern linux distributions. On ubuntu 20.04 you can install them by running
apt install libx11-dev libxss-dev libxxf86vm-dev libxkbfile-dev libxv-dev libmotif-dev libxmu-dev libxinerama-dev
Winteracter also provide their own build of OpenMotif
Winteracter is a GUI toolset for the Fortran programming language. It consists of various visual development tools and a substantial subroutine library. A copy must be bought from ISS and installed on your system.
If you get a warning that looks like this: rc warning: Unable to locate mixed case filename res/... Trying all lower case
and the resulting binary is missing icons and images in dialogs, you should contact Winteracter support and ask for a patched version of the rc tool. The fixed rc tool will be part of the upcoming winteracter 14.10e release.
Running DASH requires a working X11 session. Setting this up is beyond the scope of this document.
If you're using the devcontainer, we recommend that you run this command on your docker host (not in the container!) xhost local:root
. This will allow programs in the devcontainer to access the X11 session on your workstation.