From 473e7207db2b5689933f344fac72189b1628518a Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 22 May 2024 15:27:32 +0200 Subject: [PATCH] Remove Ubuntu 18.04 from supported distributions Ubuntu 18.04 is now in "Extended Security Maintenance", but otherwise gets no updates. Remove it from supported distributions (regarding installing packages); users can of course still use it. Users are encouraged to upgrade to Ubuntu 20+. --- CMakeLists.txt | 16 ---------------- README.md | 1 - cmake_targets/build_oai | 1 - cmake_targets/tools/build_helper | 22 ++-------------------- 4 files changed, 2 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 683127851c..fc1e23d1dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,22 +180,6 @@ add_boolean_option(SANITIZE_ADDRESS False "enable the address sanitizer (ASan)" if (SANITIZE_ADDRESS) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-common") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-common") - # There seems to be some incompatibility with pthread_create and the RT scheduler, which - # results in pthread_create hanging. - # - # When we switch from Ubuntu 16.04 to 18.04, we found that running with the address sanitizer, - # the pthread_create function calls were not working. The inital thought was that we were - # trying to create a thread that was not-blocking and would eventually crash the machine during - # the run. After more debugging, we found that we would never even start the thread. We narrowed - # down the first two instances of pthread_create in the gNB and NR UE to be sctp_eNB_task and - # one_thread, respectively. We found that adding sleeps, and various other pauses to the threads - # had not effect. From there, we found that if we add an abort(); prior to the thread loop, we - # do not execute that. This indicated to us that the problem is not likely to be a non-blocking - # thread, but perhaps and issue with pthread_create itself. From there we begain to research the - # issue on the web. See: https://github.com/google/sanitizers/issues/1125 - # - # Google searching indicates this appears to be a problem since at least 2018. This could be something - # wrong in the pthread library, or something subtly wrong in this CMakeLists.txt. Use Ubuntu 20.04 instead. endif () add_boolean_option(SANITIZE_THREAD False "enable the address sanitizer (TSan)" ON) diff --git a/README.md b/README.md index c47adb796d..2da98022f7 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@

License - Supported OS Ubuntu 18 Supported OS Ubuntu 20 Supported OS Ubuntu 22 Supported OS Ubuntu 24 diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 5c55cee1a5..609af470d0 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -418,7 +418,6 @@ function main() { CMAKE_CMD="$CMAKE_CMD -DSANITIZE_ADDRESS=True -DSANITIZE_UNDEFINED=True" shift;; --sanitize-address | -fsanitize=address) - grep -sq "Ubuntu 18.04" /etc/os-release && echo_error "Bug in OS with this option, see CMakeLists.txt" CMAKE_CMD="$CMAKE_CMD -DSANITIZE_ADDRESS=True" shift;; --sanitize-undefined | -fsanitize=undefined) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index e78efd9558..c4553765e4 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -108,7 +108,6 @@ check_supported_distribution() { "ubuntu22.04") return 0 ;; "ubuntu21.04") return 0 ;; "ubuntu20.04") return 0 ;; - "ubuntu18.04") return 0 ;; "debian11") return 0 ;; "fedora36") return 0 ;; "fedora37") return 0 ;; @@ -322,7 +321,7 @@ check_install_usrp_uhd_driver(){ $SUDO apt-get remove libuhd3.14.1 -y || true $SUDO apt-get remove libuhd3.15.0 -y || true local distribution=$(get_distribution_release) - if [[ "$distribution" == "ubuntu18.04" || "$distribution" == "ubuntu20.04" || "$distribution" == "ubuntu22.04" ]]; then + if [[ "$distribution" == "ubuntu20.04" || "$distribution" == "ubuntu22.04" ]]; then $SUDO apt-get remove libuhd4.?.? -y || true fi v=$(lsb_release -cs) @@ -352,7 +351,7 @@ check_install_usrp_uhd_driver(){ $SUDO apt-get update $SUDO apt-get -y install python-tk $boost_libs_ubuntu libusb-1.0-0-dev case "$(get_distribution_release)" in - "ubuntu18.04" | "ubuntu20.04" | "ubuntu22.04") + "ubuntu20.04" | "ubuntu22.04") $SUDO apt-get -y install libuhd-dev libuhd4.5.0 uhd-host ;; esac @@ -529,24 +528,11 @@ check_install_soapy () { install_soapy_iris_from_source } -# for ubuntu 18 we need a special repository (https://apt.kitware.com/) to install cmake >= 3.12 -add_cmake_repo () { - $SUDO $INSTALLER -y install wget - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | $SUDO tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null - echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ bionic main' | $SUDO tee /etc/apt/sources.list.d/kitware.list >/dev/null - $SUDO $INSTALLER -y update - $SUDO rm /usr/share/keyrings/kitware-archive-keyring.gpg - $SUDO $INSTALLER -y install kitware-archive-keyring -} - check_install_additional_tools (){ $SUDO $INSTALLER update -y local optional_packages="" if [[ "$OS_BASEDISTRO" == "debian" ]]; then case "$(get_distribution_release)" in - "ubuntu18.04") - optional_packages="python-dev python-pip python-pyroute2 python python-numpy python-scipy python-matplotlib ctags" - ;; "ubuntu20.04" | "ubuntu21.04" | "ubuntu22.04" | "debian11" ) optional_packages="python3 python3-pip python3-dev python3-scipy python3-matplotlib python3-pyroute2 universal-ctags" ;; @@ -587,10 +573,6 @@ check_install_oai_software() { if [[ "$OS_BASEDISTRO" == "debian" ]]; then $SUDO apt install -y software-properties-common case "$(get_distribution_release)" in - "ubuntu18.04") - add_cmake_repo - specific_packages="" - ;; "debian11") specific_packages="libz-dev" ;;