diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 2dd29ef4f..194b56925 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -41,6 +41,14 @@ function(detect_os) execute_process(COMMAND arch OUTPUT_VARIABLE DISTRO_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) set(BDM_OS "${DISTRO_NAME}-${DISTRO_VERSION}") + if(BDM_OS MATCHES "debian|mint|eepin|pop|neon") + set(BDM_OS "ubuntu-24.04") + elseif (BDM_OS MATCHES "buntu") + set(BDM_OS "ubuntu-${DISTRO_VERSION}") + if (BDM_OS MATCHES "buntu-24|buntu-25|buntu-26") + set(BDM_OS "ubuntu-24.04") + endif() + endif() set(DETECTED_OS "${BDM_OS}" PARENT_SCOPE) set(DETECTED_ARCH "${DISTRO_ARCH}" PARENT_SCOPE) if("${DISTRO_ARCH}" STREQUAL "aarch64") diff --git a/src/core/exporter.h b/src/core/exporter.h index f706b191b..69f0138c4 100644 --- a/src/core/exporter.h +++ b/src/core/exporter.h @@ -17,6 +17,7 @@ #include #include +#include namespace bdm { diff --git a/third_party/cxxopts-v2.2.1/cxxopts.h b/third_party/cxxopts-v2.2.1/cxxopts.h index 6d230f062..0db88ce3b 100644 --- a/third_party/cxxopts-v2.2.1/cxxopts.h +++ b/third_party/cxxopts-v2.2.1/cxxopts.h @@ -37,6 +37,7 @@ THE SOFTWARE. #include #include #include +#include #include #ifdef __cpp_lib_optional diff --git a/util/installation/common/util.sh b/util/installation/common/util.sh index 45a53d168..596ca776a 100755 --- a/util/installation/common/util.sh +++ b/util/installation/common/util.sh @@ -48,6 +48,14 @@ function DetectOs { DISTRIBUTOR=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"') RELEASE=$(grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"') OS="${DISTRIBUTOR}-${RELEASE}" + if echo "$OS" | grep -Eiq 'debian|mint|eepin|pop|neon' ; then + OS="ubuntu-24.04" + elif echo "$DISTRIBUTOR" | grep -Eiq 'buntu' ; then + OS="ubuntu-${RELEASE}" + if echo "$OS" | grep -Eiq 'buntu-24|buntu-25|buntu-26' ; then + OS="ubuntu-24.04" + fi + fi echo $OS | awk '{print tolower($0)}' elif [ `uname` = "Darwin" ]; then # macOS diff --git a/util/installation/ubuntu-24.04/package_list_extra b/util/installation/ubuntu-24.04/package_list_extra index 8143ab18e..51bb0e626 100644 --- a/util/installation/ubuntu-24.04/package_list_extra +++ b/util/installation/ubuntu-24.04/package_list_extra @@ -1,3 +1,6 @@ +g++-11 +gcc-11 +gfortran-11 clang clang-format clang-tidy diff --git a/util/installation/ubuntu-24.04/package_list_required b/util/installation/ubuntu-24.04/package_list_required index f2d9591b0..1227e44a5 100644 --- a/util/installation/ubuntu-24.04/package_list_required +++ b/util/installation/ubuntu-24.04/package_list_required @@ -1,10 +1,12 @@ curl +build-essential freeglut3-dev g++ gcc -g++-11 -gcc-11 +gfortran +patch git +doxygen libblas-dev libbz2-dev liblapack-dev @@ -16,15 +18,21 @@ libpthread-stubs0-dev make wget zlib1g-dev -python3-dev -libbz2-dev +graphviz-dev +libgsl-dev +valgrind libffi-dev liblzma-dev libreadline-dev libsqlite3-dev +libglew-dev libssl-dev python3-openssl tk-dev xz-utils -zlib1g-dev +uuid-dev +python3-dev +libldap-dev +libcfitsio-dev +libncurses-dev diff --git a/util/installation/ubuntu-24.04/prerequisites.sh b/util/installation/ubuntu-24.04/prerequisites.sh index a3ea706cb..dd0178792 100755 --- a/util/installation/ubuntu-24.04/prerequisites.sh +++ b/util/installation/ubuntu-24.04/prerequisites.sh @@ -40,16 +40,18 @@ sudo apt-get install apt-transport-https # Update sudo apt-get update +# Install required packages +while read -r package; do + sudo apt-get install -y "$package" +done < $BDM_PROJECT_DIR/util/installation/ubuntu-24.04/package_list_required + +# Install CMAKE CMAKE_VER=3.19.3 CMAKE_SH="cmake-${CMAKE_VER}-linux-x86_64.sh" curl -L -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/${CMAKE_SH} sudo bash "${CMAKE_SH}" --prefix=/usr/local --skip-license rm "${CMAKE_SH}" -# Install required packages -sudo apt-get install -y \ - $(cat $BDM_PROJECT_DIR/util/installation/ubuntu-24.04/package_list_required) - if [ -n "${PYENV_ROOT}" ]; then unset PYENV_ROOT fi @@ -80,8 +82,10 @@ if [ $1 == "all" ]; then # Don't install --user: the packages should end up in the PYENV_ROOT directory python -m pip install -r $BDM_PROJECT_DIR/util/installation/ubuntu-24.04/pip_packages.txt - sudo apt-get install -y \ - $(cat $BDM_PROJECT_DIR/util/installation/ubuntu-24.04/package_list_extra) +while read -r package; do + sudo apt-get install -y "$package" +done < $BDM_PROJECT_DIR/util/installation/ubuntu-24.04/package_list_extra + fi exit 0