From 3a6c6b3bb0c3e41362c09e75f02fefe07ef1e485 Mon Sep 17 00:00:00 2001 From: john Papadopoulos Date: Sat, 26 Jul 2025 12:35:57 +0800 Subject: [PATCH 01/14] porting to debian_based_platforms --- cmake/utils.cmake | 5 +++++ util/installation/common/util.sh | 5 +++++ .../ubuntu-24.04/package_list_required | 19 ++++++++++++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 2dd29ef4f..bce01dac4 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -41,6 +41,11 @@ 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") + set(BDM_OS "ubuntu-24.04") + elseif (BDM_OS MATCHES "buntu") + set(BDM_OS "ubuntu-${DISTRO_VERSION}") + endif() set(DETECTED_OS "${BDM_OS}" PARENT_SCOPE) set(DETECTED_ARCH "${DISTRO_ARCH}" PARENT_SCOPE) if("${DISTRO_ARCH}" STREQUAL "aarch64") diff --git a/util/installation/common/util.sh b/util/installation/common/util.sh index 45a53d168..dc32741a8 100755 --- a/util/installation/common/util.sh +++ b/util/installation/common/util.sh @@ -48,6 +48,11 @@ 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' ; then + OS="ubuntu-24.04" + elif echo "$DISTRIBUTOR" | grep -Eiq 'buntu' ; then + OS="ubuntu-${RELEASE}" + fi echo $OS | awk '{print tolower($0)}' elif [ `uname` = "Darwin" ]; then # macOS diff --git a/util/installation/ubuntu-24.04/package_list_required b/util/installation/ubuntu-24.04/package_list_required index f2d9591b0..b213da132 100644 --- a/util/installation/ubuntu-24.04/package_list_required +++ b/util/installation/ubuntu-24.04/package_list_required @@ -1,10 +1,16 @@ +lsb-release curl +build-essential freeglut3-dev g++ gcc +gfortran g++-11 gcc-11 +gfortran-11 +patch git +doxygen libblas-dev libbz2-dev liblapack-dev @@ -16,15 +22,22 @@ 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 +libatlas-base-dev tk-dev xz-utils -zlib1g-dev +uuid-dev +python3-dev +libldap-dev +libcfitsio-dev +libncurses-dev From d53fe4d8bbf42cc86b3ddc62d612b68037cda17e Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 26 Jul 2025 08:37:12 +0000 Subject: [PATCH 02/14] Update utils.cmake added prelimitary support for ubuntu 25 and 26 --- cmake/utils.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/utils.cmake b/cmake/utils.cmake index bce01dac4..b1da584eb 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -41,10 +41,13 @@ 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") - set(BDM_OS "ubuntu-24.04") + if(BDM_OS MATCHES "debian|mint|eepin") + 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) From a4c92971854cb81a2f0ae8613fb8fb3b3d0b5cf5 Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 26 Jul 2025 08:40:30 +0000 Subject: [PATCH 03/14] Update util.sh added preliminary support for ubuntu 24.10, 25 and 26 --- util/installation/common/util.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/util/installation/common/util.sh b/util/installation/common/util.sh index dc32741a8..bfeb657ed 100755 --- a/util/installation/common/util.sh +++ b/util/installation/common/util.sh @@ -52,6 +52,9 @@ function DetectOs { 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 From 3428b0c8832e38839f8f776ed7ca059849fe96ed Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 26 Jul 2025 08:42:00 +0000 Subject: [PATCH 04/14] Update util.sh --- util/installation/common/util.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/installation/common/util.sh b/util/installation/common/util.sh index bfeb657ed..212bc0a7b 100755 --- a/util/installation/common/util.sh +++ b/util/installation/common/util.sh @@ -52,7 +52,7 @@ function DetectOs { 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 + if echo "$OS" | grep -Eiq 'buntu-24|buntu-25|buntu-26' ; then OS="ubuntu-24.04" fi fi From cbdea7e2bcad1134f8f37229e89b428cc235fcd5 Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 26 Jul 2025 11:06:01 +0000 Subject: [PATCH 05/14] Update package_list_required Removed libatlas-base-dev unneeded dependency in order to support ubuntu 25.10 --- util/installation/ubuntu-24.04/package_list_required | 1 - 1 file changed, 1 deletion(-) diff --git a/util/installation/ubuntu-24.04/package_list_required b/util/installation/ubuntu-24.04/package_list_required index b213da132..f0d04c605 100644 --- a/util/installation/ubuntu-24.04/package_list_required +++ b/util/installation/ubuntu-24.04/package_list_required @@ -32,7 +32,6 @@ libsqlite3-dev libglew-dev libssl-dev python3-openssl -libatlas-base-dev tk-dev xz-utils uuid-dev From b4ad6ec4bf2a30f9dba080969dfb75dae4626bee Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 4 Oct 2025 19:27:32 +0300 Subject: [PATCH 06/14] #include for gcc 15 --- src/core/exporter.h | 1 + 1 file changed, 1 insertion(+) 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 { From a1be7fe46684e75d79d771b474f517f9a32b878a Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 4 Oct 2025 19:28:51 +0300 Subject: [PATCH 07/14] #include for gcc 15 --- third_party/cxxopts-v2.2.1/cxxopts.h | 1 + 1 file changed, 1 insertion(+) 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 From 240d1edd352c174558da84ca21782fbd1049d49f Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 4 Oct 2025 19:30:19 +0300 Subject: [PATCH 08/14] Removed some non required packages --- util/installation/ubuntu-24.04/package_list_required | 4 ---- 1 file changed, 4 deletions(-) diff --git a/util/installation/ubuntu-24.04/package_list_required b/util/installation/ubuntu-24.04/package_list_required index f0d04c605..1227e44a5 100644 --- a/util/installation/ubuntu-24.04/package_list_required +++ b/util/installation/ubuntu-24.04/package_list_required @@ -1,13 +1,9 @@ -lsb-release curl build-essential freeglut3-dev g++ gcc gfortran -g++-11 -gcc-11 -gfortran-11 patch git doxygen From 923914076184cd922fb76b03ae8af94910e21b1c Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sun, 5 Oct 2025 00:30:13 +0300 Subject: [PATCH 09/14] Recovered gcc-11 --- util/installation/ubuntu-24.04/package_list_required | 3 +++ 1 file changed, 3 insertions(+) diff --git a/util/installation/ubuntu-24.04/package_list_required b/util/installation/ubuntu-24.04/package_list_required index 1227e44a5..6abeb6630 100644 --- a/util/installation/ubuntu-24.04/package_list_required +++ b/util/installation/ubuntu-24.04/package_list_required @@ -4,6 +4,9 @@ freeglut3-dev g++ gcc gfortran +g++-11 +gcc-11 +gfortran-11 patch git doxygen From 0aa343b67b3a3be3040cc1f8ee4809f39f53d2d1 Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Sat, 4 Oct 2025 22:41:09 -0700 Subject: [PATCH 10/14] Update prerequisites.sh One by one package installation for failsafe reasons. installing cmake after curl --- util/installation/ubuntu-24.04/prerequisites.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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 From 0a2bac5715e5545c0be0426ffde6e816fb2365c6 Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Wed, 12 Nov 2025 01:32:52 +0200 Subject: [PATCH 11/14] Update utils.cmake add unofficial support for pop os and kde neon --- cmake/utils.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/utils.cmake b/cmake/utils.cmake index b1da584eb..194b56925 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -41,7 +41,7 @@ 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") + 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}") From d631512529a776133e1278c1ef0187b03822ef4e Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Wed, 12 Nov 2025 01:33:51 +0200 Subject: [PATCH 12/14] Update util.sh Add unofficial support for pop os and kde neon --- util/installation/common/util.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/installation/common/util.sh b/util/installation/common/util.sh index 212bc0a7b..596ca776a 100755 --- a/util/installation/common/util.sh +++ b/util/installation/common/util.sh @@ -48,7 +48,7 @@ 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' ; then + 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}" From a5f977f10546cc21a482b6328a3b9d887cfdd7b3 Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Wed, 12 Nov 2025 01:36:11 +0200 Subject: [PATCH 13/14] Update package_list_required moved to optional --- util/installation/ubuntu-24.04/package_list_required | 3 --- 1 file changed, 3 deletions(-) diff --git a/util/installation/ubuntu-24.04/package_list_required b/util/installation/ubuntu-24.04/package_list_required index 6abeb6630..1227e44a5 100644 --- a/util/installation/ubuntu-24.04/package_list_required +++ b/util/installation/ubuntu-24.04/package_list_required @@ -4,9 +4,6 @@ freeglut3-dev g++ gcc gfortran -g++-11 -gcc-11 -gfortran-11 patch git doxygen From c2802ae511c2b892e6199af60beb107c77615191 Mon Sep 17 00:00:00 2001 From: johnpapad24 <92296237+johnpapad24@users.noreply.github.com> Date: Wed, 12 Nov 2025 01:36:38 +0200 Subject: [PATCH 14/14] Update package_list_extra move gcc 11 to extra --- util/installation/ubuntu-24.04/package_list_extra | 3 +++ 1 file changed, 3 insertions(+) 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