diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake index 0cac560413601454e278c50cafc6c3ee9abf3425..695c3ca8749ec911a5c255ecc2f5fdbb4a7f3ce2 100644 --- a/scripts/cmake/CompilerSetup.cmake +++ b/scripts/cmake/CompilerSetup.cmake @@ -74,9 +74,11 @@ if(COMPILER_IS_GCC OR COMPILER_IS_CLANG OR COMPILER_IS_INTEL) endif() if(COMPILER_IS_GCC) - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${ogs.minimum_version.gcc}) - message(FATAL_ERROR "Aborting: GCC ${ogs.minimum_version.gcc} is \ - required! Found version ${CMAKE_CXX_COMPILER_VERSION}.") + if(NOT "${HOSTNAME}" MATCHES "frontend.*") # TODO: remove later + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${ogs.minimum_version.gcc}) + message(FATAL_ERROR "Aborting: GCC ${ogs.minimum_version.gcc} is \ + required! Found version ${CMAKE_CXX_COMPILER_VERSION}.") + endif() endif() add_compile_options(-fext-numeric-literals) include(GCCSanitizer) diff --git a/web/content/docs/devguide/getting-started/prerequisites.pandoc b/web/content/docs/devguide/getting-started/prerequisites.pandoc index be8fe4e9068f3a8d13efb66c92b96668556e72ee..fa1f8a85316f87178dbe4ced96d5aa2ea89db6b1 100644 --- a/web/content/docs/devguide/getting-started/prerequisites.pandoc +++ b/web/content/docs/devguide/getting-started/prerequisites.pandoc @@ -50,6 +50,32 @@ You need to have at least **gcc {{< dataFile "versions.minimum_version.gcc" >}}* $ gcc --version gcc (GCC) {{< dataFile "versions.minimum_version.gcc" >}}.0 ``` + +::: {.note} +### Install a newer compiler on Ubuntu + +We recommend using Ubuntu {{< dataFile "versions.tested_version.ubuntu" >}} as its standard `gcc` package is already at version 9. If you are on an older Ubuntu version you can install a newer compiler from the `ubuntu-toolchain-r/test`-repository: + +```bash +sudo add-apt-repository ppa:ubuntu-toolchain-r/test +sudo apt-get update +sudo apt-get install gcc-9 g++-9 +``` + +To make the newly installed compiler the default one: + +```bash +sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-9 +``` + +If you do not do this you have to specify the compiler during the first CMake run: + +```bash +CC=gcc-9 CXX=c++-9 cmake ../ogs [more CMake options] +``` +::: + ::: ::: {.mac} diff --git a/web/data/versions.json b/web/data/versions.json index 79563e9cbe903f83655247d00b07d5e0aeb17607..6aa8614e2e899bbb66ad99e73fb31740c89202b6 100644 --- a/web/data/versions.json +++ b/web/data/versions.json @@ -1,6 +1,6 @@ { "minimum_version": { - "gcc": "8.0", + "gcc": "9.0", "clang": "9.0", "msvc": { "year": "2019", @@ -22,6 +22,7 @@ "qt": { "linux": "5.14.1", "win": "5.13.2" - } + }, + "ubuntu": "20.04" } }