From 0a45525b29b3655b060b3f30fc30fb376c0108ad Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 26 Jun 2026 19:57:34 +0200 Subject: [PATCH 1/5] libxml2: bump to version compatible with GCC-15 --- libxml2.sh | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/libxml2.sh b/libxml2.sh index a0ded24b5f..386153cd96 100644 --- a/libxml2.sh +++ b/libxml2.sh @@ -1,44 +1,31 @@ package: libxml2 version: "%(tag_basename)s" -tag: v2.9.3 +tag: v2.15.3 license: MIT build_requires: - "autotools:(slc6|slc7)" - zlib - "GCC-Toolchain:(?!osx)" -source: https://github.com/alisw/libxml2.git + - ninja + - CMake + - alibuild-recipe-tools +source: https://gitlab.gnome.org/GNOME/libxml2 prefer_system: "(?!slc5)" prefer_system_check: | xml2-config --version; if [ $? -ne 0 ]; then printf "libxml2 not found.\n * On RHEL-compatible systems you probably need: libxml2 libxml2-devel\n * On Ubuntu-compatible systems you probably need: libxml2 libxml2-dev"; exit 1; fi --- #!/bin/sh -echo "Building ALICE libxml. To avoid this install libxml development package." -rsync -a --chmod=ug=rwX --exclude='**/.git' --delete --delete-excluded "$SOURCEDIR"/ . -autoreconf -i -./configure --disable-static \ - --prefix=$INSTALLROOT \ - --with-zlib="${ZLIB_ROOT}" --without-python - -make ${JOBS+-j $JOBS} -make install +cmake "$SOURCEDIR" "-DCMAKE_INSTALL_PREFIX=$INSTALLROOT" \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DLIBXML2_WITH_ZLIB=ON \ + ${ZLIB_REVISION:+-DZLIB_ROOT=$ZLIB_ROOT} +cmake --build . -- ${JOBS:+-j$JOBS} install # Modulefile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < "etc/modulefiles/$PKGNAME" < Date: Thu, 25 Jun 2026 14:34:54 +0200 Subject: [PATCH 2/5] UCX: bump to get it compile with GCC-15 --- ucx.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ucx.sh b/ucx.sh index c71a827c02..79e02a21fa 100644 --- a/ucx.sh +++ b/ucx.sh @@ -1,6 +1,6 @@ package: ucx version: "%(tag_basename)s" -tag: v1.13.1-alice2 +tag: v1.21.0 requires: - "GCC-Toolchain:(?!osx)" - rdma-core @@ -9,7 +9,7 @@ build_requires: - "autotools:(slc6|slc7)" - alibuild-recipe-tools - "GCC-Toolchain:(?!osx)" -source: https://github.com/alisw/ucx +source: https://github.com/openucx/ucx --- #!/bin/bash -e @@ -21,7 +21,7 @@ rsync -a --delete --exclude "**/.git" "${SOURCEDIR}"/ . --with-verbs \ --with-rdmacm \ --with-ib-hw-tm \ - --with-mlx5-dv \ + --with-mlx5 \ --with-rc \ --with-ud \ --with-dc \ From 761477d2becf63204ccbcb5b4a5f8189e38eddd1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 25 Jun 2026 10:29:15 +0200 Subject: [PATCH 3/5] Fix DIM for GCC-15 --- dim.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dim.sh b/dim.sh index fe718579d7..2164e76801 100644 --- a/dim.sh +++ b/dim.sh @@ -1,6 +1,6 @@ package: dim version: "%(tag_basename)s" -tag: v20r30 +tag: v20r30-alice1 source: https://github.com/alisw/dim requires: - "GCC-Toolchain:(?!osx)" From 3f27331e3625663be869069ea15b39c761df24e1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 26 Jun 2026 10:52:16 +0200 Subject: [PATCH 4/5] VecGeom: bump to v1.2.11 Fixes GCC-15 compatibility. --- vecgeom.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vecgeom.sh b/vecgeom.sh index bec495e36c..1430c4c44f 100644 --- a/vecgeom.sh +++ b/vecgeom.sh @@ -1,10 +1,11 @@ package: VecGeom version: "%(tag_basename)s" -tag: v1.2.6 +tag: v2.1.0 source: https://gitlab.cern.ch/VecGeom/VecGeom.git requires: - "GCC-Toolchain:(?!osx)" - "Vc" + - xercesc license: Apache-2.0 build_requires: - CMake @@ -22,6 +23,7 @@ case $ARCHITECTURE in -DBUILD_TESTING=OFF \ -DVECGEOM_BUILTIN_VECCORE=ON \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + ${XERCESC_ROOT:+-DXercesC_ROOT=$XERCESC_ROOT} \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ;; *_aarch64) @@ -32,6 +34,7 @@ case $ARCHITECTURE in -DBUILD_TESTING=OFF \ -DVECGEOM_BUILTIN_VECCORE=ON \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + ${XERCESC_ROOT:+-DXercesC_ROOT=$XERCESC_ROOT} \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ;; *) @@ -43,6 +46,7 @@ case $ARCHITECTURE in -DVECGEOM_BUILTIN_VECCORE=ON \ -GNinja \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + ${XERCESC_ROOT:+-DXercesC_ROOT=$XERCESC_ROOT} \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ;; esac From 9bd481a153a9f565fa6d4833f70abc7894de286e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 26 Jun 2026 10:52:16 +0200 Subject: [PATCH 5/5] GCC: bump to 15.3.0-alice1 --- gcc-toolchain.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc-toolchain.sh b/gcc-toolchain.sh index 0634865a5d..6b2983c844 100644 --- a/gcc-toolchain.sh +++ b/gcc-toolchain.sh @@ -1,6 +1,6 @@ package: GCC-Toolchain version: "%(tag_basename)s" -tag: v14.2.0-alice2 +tag: v15.3.0-alice2 license: GPL-3.0 source: https://github.com/alisw/gcc-toolchain prepend_path: @@ -15,6 +15,7 @@ prefer_system_check: | set -e which gfortran || { echo "gfortran missing"; exit 1; } case $REQUESTED_VERSION in + v15*) MIN_GCC_VERSION=150300 ;; v14*) MIN_GCC_VERSION=140200 ;; v13*) MIN_GCC_VERSION=130200 ;; v12*) MIN_GCC_VERSION=120100 ;; @@ -96,6 +97,17 @@ rsync -a gcc/gmp/ gmp rsync -a gcc/isl/ isl rsync -a gcc/mpc/ mpc +# isl 0.27 ships C++17 self-tests (isl_test_cpp17, isl_test_cpp17-checked) that +# break the in-tree GCC build: AX_CXX_COMPILE_STDCXX_17 sets HAVE_CXX17=1 when +# the host compiler accepts C++17 "by default" but adds no -std switch, then the +# TUs get compiled with __cplusplus < 201703L so the C++17-only members +# (id::try_user, the std::any ctor) are invisible. These tests are not needed to +# build libisl for GCC, so drop them from both isl copies before autoreconf +# regenerates the Makefiles. +for islmf in gcc/isl/Makefile.am isl/Makefile.am; do + [ -f "$islmf" ] && perl -ni -e 'print unless /^if HAVE_CXX17$/ .. /^endif$/' "$islmf" +done + pushd gcc [ -d mpfr ] && (cd mpfr && autoreconf -ivf) [ -d mpc ] && (cd mpc && autoreconf -ivf) @@ -215,6 +227,7 @@ mkdir -p build-isl mkdir -p build-mpc pushd build-gmp + CFLAGS="-O2 -pedantic -fomit-frame-pointer -std=gnu17" \ ../gmp/configure --prefix="$INSTALLROOT/libexec/extra" \ --disable-shared \ --enable-static