diff --git a/.github/actions/linux-build/action.yml b/.github/actions/linux-build/action.yml index c607c6d02..ea448199e 100644 --- a/.github/actions/linux-build/action.yml +++ b/.github/actions/linux-build/action.yml @@ -76,7 +76,9 @@ runs: libboost-all-dev libbz2-dev libmysql++-dev \ libreadline6-dev libssl-dev libtool openssl zlib1g-dev if [[ "$(lsb_release -sr)" == "26.04" ]]; then - sudo apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev + # libstdc++-16-dev: clang 21 links against the GCC 16 toolchain, the + # default g++ (GCC 15) only brings the GCC 15 C++ dev files + sudo apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev libstdc++-16-dev else sudo apt-get -y install google-perftools libmysqlclient-dev libncurses5-dev fi diff --git a/apps/installer/includes/os_configs/ubuntu.sh b/apps/installer/includes/os_configs/ubuntu.sh index 0ad9edd7f..deaa025ce 100644 --- a/apps/installer/includes/os_configs/ubuntu.sh +++ b/apps/installer/includes/os_configs/ubuntu.sh @@ -36,8 +36,11 @@ apt-get -y install ccache clang cmake curl make unzip jq screen tmux \ # version-specific deps if [[ "$UBUNTU_VERSION" == "26.04" ]]; then + # libstdc++-16-dev: clang 21 links against the GCC 16 toolchain, while the + # default g++ is GCC 15 and only brings the GCC 15 C++ dev files, so cmake + # fails with "cannot find -lstdc++" without it. $SUDO DEBIAN_FRONTEND="noninteractive" \ - apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev + apt-get -y install libgoogle-perftools-dev default-libmysqlclient-dev libstdc++-16-dev else $SUDO DEBIAN_FRONTEND="noninteractive" \ apt-get -y install google-perftools libmysqlclient-dev libncurses5-dev libncursesw5-dev