From 4a972fb00604e677dcdea2c8b41503ab572d9d0a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 5 Oct 2023 10:51:36 +0200 Subject: [PATCH 001/172] Use openssl@3 on macOS --- root.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root.sh b/root.sh index 1153bc47c5..38c8dc8740 100644 --- a/root.sh +++ b/root.sh @@ -77,7 +77,7 @@ case $ARCHITECTURE in COMPILER_LD=clang SONAME=dylib [[ ! $GSL_ROOT ]] && GSL_ROOT=$(brew --prefix gsl) - [[ ! $OPENSSL_ROOT ]] && SYS_OPENSSL_ROOT=$(brew --prefix openssl@1.1) + [[ ! $OPENSSL_ROOT ]] && SYS_OPENSSL_ROOT=$(brew --prefix openssl@3) [[ ! $LIBPNG_ROOT ]] && LIBPNG_ROOT=$(brew --prefix libpng) ;; esac From cd95e0be59ed11aed4b9357c3dde47f4c5cb06d0 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:25:10 +0200 Subject: [PATCH 002/172] Cleanup abseil While we do not need to expose abseil to ROOT (if anything because it does not actually work) we can still benefit from some of the clean-ups I did. In particular this will: * Build with ninja * Generate the modulefile on the fly --- abseil.sh | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/abseil.sh b/abseil.sh index 949b60f078..2294de3c6d 100644 --- a/abseil.sh +++ b/abseil.sh @@ -5,10 +5,14 @@ requires: - "GCC-Toolchain:(?!osx)" build_requires: - CMake + - ninja - alibuild-recipe-tools source: https://github.com/abseil/abseil-cpp +prefer_system: "osx" +prefer_system_check: | + printf '#include ' | c++ -std=c++17 -I`brew --prefix abseil`/include -c -xc++ - >/dev/null incremental_recipe: | - make ${JOBS:+-j$JOBS} install + cmake --build . -- ${JOBS:+-j$JOBS} install mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- #!/bin/bash -e @@ -16,22 +20,14 @@ incremental_recipe: | mkdir -p $INSTALLROOT cmake $SOURCEDIR \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DCMAKE_INSTALL_LIBDIR=lib \ -DBUILD_TESTING=OFF \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -make ${JOBS:+-j$JOBS} install - +cmake --build . -- ${JOBS:+-j$JOBS} install # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" mkdir -p "$MODULEDIR" -alibuild-generate-module > "$MODULEFILE" -cat >> "$MODULEFILE" < "$MODULEFILE" From 171a3eaf6b760cc8bcd41fd73f2d847d4cf1c49d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 21 Oct 2023 15:19:29 +0200 Subject: [PATCH 003/172] Add incremental recipe to FairRoot Will avoid rebuilding things from scratch when a devel package is used. --- fairroot.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/fairroot.sh b/fairroot.sh index 99a5294848..8584ffd21a 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -17,6 +17,17 @@ env: CONFIG_DIR: "$FAIRROOT_ROOT/share/fairbase/examples/common/gconfig" prepend_path: ROOT_INCLUDE_PATH: "$FAIRROOT_ROOT/include" +incremental_build: | + cmake $SOURCEDIR \ + -DCMAKE_GENERATOR=Ninja \ + -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cp ${BUILDDIR}/compile_commands.json ${INSTALLROOT} + cmake --build . -- ${JOBS+-j $JOBS} install + + #ModuleFile + mkdir -p etc/modulefiles + mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- # Making sure people do not have SIMPATH set when they build fairroot. # Unfortunately SIMPATH seems to be hardcoded in a bunch of places in From abbd15fbd38bb2d6e95d5ffbe1950c3f7c52bbab Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 23 Oct 2023 13:16:34 +0200 Subject: [PATCH 004/172] Add incremental recipe to FairRoot Will avoid rebuilding things from scratch when a devel package is used. --- fairroot.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/fairroot.sh b/fairroot.sh index 99a5294848..ab43e35a54 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -17,6 +17,17 @@ env: CONFIG_DIR: "$FAIRROOT_ROOT/share/fairbase/examples/common/gconfig" prepend_path: ROOT_INCLUDE_PATH: "$FAIRROOT_ROOT/include" +incremental_recipe: | + cmake $SOURCEDIR \ + -DCMAKE_GENERATOR=Ninja \ + -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cp ${BUILDDIR}/compile_commands.json ${INSTALLROOT} + cmake --build . -- ${JOBS+-j $JOBS} install + + #ModuleFile + mkdir -p etc/modulefiles + mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- # Making sure people do not have SIMPATH set when they build fairroot. # Unfortunately SIMPATH seems to be hardcoded in a bunch of places in From c81e17932fbe1eae33e41ccfdd60a05ccaf36a3f Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 23 Oct 2023 16:21:30 +0200 Subject: [PATCH 005/172] Bump libwebsocket to v4.3.2 --- libwebsockets.sh | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/libwebsockets.sh b/libwebsockets.sh index c692ef85ff..7a5d6b9858 100644 --- a/libwebsockets.sh +++ b/libwebsockets.sh @@ -1,6 +1,6 @@ package: libwebsockets version: "%(tag_basename)s" -tag: "v3.0.1" +tag: "v4.3.2" source: https://github.com/warmcat/libwebsockets build_requires: - CMake @@ -8,8 +8,8 @@ build_requires: - "OpenSSL:(?!osx)" prefer_system: "osx" prefer_system_check: | - printf '#if !__has_include()\n#error \"Cannot find libwebsocket\"\n#endif\n' | c++ -I$(brew --prefix libwebsockets)/include -c -xc++ -std=c++17 - -o /dev/null - printf '#include \n#if LWS_LIBRARY_VERSION_NUMBER < 2004000 || LWS_LIBRARY_VERSION_NUMBER >= 3001000\n#error \"JAliEn-ROOT requires libwebsockets 3.0.x but other version was detected\"\n#endif\n' | c++ -c -x c++ -I$(brew --prefix libwebsockets)/include -std=c++17 - -o /dev/null || exit 1 + printf '#if !__has_include()\n#error \"Cannot find libwebsocket\"\n#endif\n' | cc -I$(brew --prefix libwebsockets)/include -c -xc - -o /dev/null + printf '#include \n#if LWS_LIBRARY_VERSION_NUMBER < 4000000 \n#error \"JAliEn-ROOT requires libwebsockets >= 4.0 but lesser version was detected\"\n#endif\n' | cc -c -x c -I$(brew --prefix libwebsockets)/include - -o /dev/null || exit 1 --- #!/bin/bash -e SONAME=so @@ -21,25 +21,6 @@ esac rsync -av --delete --exclude="**/.git" $SOURCEDIR/ $BUILDDIR -# NOTE: drop this patch after libwebsockets is updated to 4.x -cat > xcode12.patch << EoF ---- private.h 2020-11-13 17:36:22.000000000 +0100 -+++ private.h.patched 2020-11-13 17:54:05.000000000 +0100 -@@ -298,8 +298,10 @@ - * but happily have something equivalent in the SO_NOSIGPIPE flag. - */ - #ifdef __APPLE__ -+#ifndef MSG_NOSIGNAL - #define MSG_NOSIGNAL SO_NOSIGPIPE - #endif -+#endif - - /* - * Solaris 11.X only supports POSIX 2001, MSG_NOSIGNAL appears in -EoF - -patch lib/core/private.h xcode12.patch - mkdir build pushd build From 9eb13102ce67c6e82c20a089155fe8ca9c06e62f Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 23 Oct 2023 16:23:32 +0200 Subject: [PATCH 006/172] Move libwebsocket to use ninja --- libwebsockets.sh | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/libwebsockets.sh b/libwebsockets.sh index 7a5d6b9858..3064209e7a 100644 --- a/libwebsockets.sh +++ b/libwebsockets.sh @@ -6,6 +6,7 @@ build_requires: - CMake - "GCC-Toolchain:(?!osx)" - "OpenSSL:(?!osx)" + - ninja prefer_system: "osx" prefer_system_check: | printf '#if !__has_include()\n#error \"Cannot find libwebsocket\"\n#endif\n' | cc -I$(brew --prefix libwebsockets)/include -c -xc - -o /dev/null @@ -19,12 +20,8 @@ case $ARCHITECTURE in : "${OPENSSL_ROOT:=$(brew --prefix openssl@3)}" ;; esac -rsync -av --delete --exclude="**/.git" $SOURCEDIR/ $BUILDDIR - -mkdir build -pushd build - -cmake .. \ +cmake $SOURCEDIR \ + -GNinja \ -DCMAKE_C_FLAGS_RELEASE="-Wno-error" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_BUILD_TYPE=RELEASE \ @@ -37,11 +34,9 @@ cmake .. \ ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ -DLWS_HAVE_OPENSSL_ECDH_H=OFF \ -DLWS_WITHOUT_TESTAPPS=ON -make ${JOBS+-j $JOBS} install +cmake --build . --target install ${JOBS+-j $JOBS} rm -rf $INSTALLROOT/share -popd # build - # Modulefile mkdir -p etc/modulefiles cat > etc/modulefiles/$PKGNAME < Date: Mon, 23 Oct 2023 16:27:06 +0200 Subject: [PATCH 007/172] Use alice-recipe-tools for libwebsockets --- libwebsockets.sh | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/libwebsockets.sh b/libwebsockets.sh index 3064209e7a..1b5086d47c 100644 --- a/libwebsockets.sh +++ b/libwebsockets.sh @@ -7,6 +7,7 @@ build_requires: - "GCC-Toolchain:(?!osx)" - "OpenSSL:(?!osx)" - ninja + - alibuild-recipe-tools prefer_system: "osx" prefer_system_check: | printf '#if !__has_include()\n#error \"Cannot find libwebsocket\"\n#endif\n' | cc -I$(brew --prefix libwebsockets)/include -c -xc - -o /dev/null @@ -39,21 +40,5 @@ rm -rf $INSTALLROOT/share # Modulefile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles From b53229cd9bd7fd789ee7582737c2a27cc05d351d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 23 Oct 2023 16:45:32 +0200 Subject: [PATCH 008/172] Improve OpenSSL detection --- libwebsockets.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libwebsockets.sh b/libwebsockets.sh index 1b5086d47c..97b7b8539d 100644 --- a/libwebsockets.sh +++ b/libwebsockets.sh @@ -30,9 +30,12 @@ cmake $SOURCEDIR \ -DLWS_WITH_SHARED=OFF \ -DLWS_WITH_IPV6=ON \ -DLWS_WITH_ZLIB=OFF \ + ${OPENSSL_ROOT:+-DOPENSSL_EXECUTABLE=$OPENSSL_ROOT/bin/openssl} \ ${OPENSSL_ROOT:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT} \ ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ - ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ + ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ + ${OPENSSL_ROOT:+-DLWS_OPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ + ${OPENSSL_ROOT:+-DLWS_OPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ -DLWS_HAVE_OPENSSL_ECDH_H=OFF \ -DLWS_WITHOUT_TESTAPPS=ON cmake --build . --target install ${JOBS+-j $JOBS} From cd86859aa36646d1261e0e9989297ecd13405194 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 23 Oct 2023 16:13:01 +0200 Subject: [PATCH 009/172] Move to JAliEn-ROOT 0.7.4 * Fix static cast * Improve detection of OpenSSL to use both libcrypto and libssl --- jalien-root.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jalien-root.sh b/jalien-root.sh index 1996fedf11..4645a0b1dd 100644 --- a/jalien-root.sh +++ b/jalien-root.sh @@ -1,6 +1,6 @@ package: JAliEn-ROOT version: "%(tag_basename)s" -tag: "0.7.1" +tag: "0.7.4" source: https://gitlab.cern.ch/jalien/jalien-root.git requires: - ROOT From b2e891d6c80cecda5be69e5f0b780daa8c12c386 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:18:19 +0200 Subject: [PATCH 010/172] Bump DDS to 3.7.23 Needed by macOS Sonoma. --- dds.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dds.sh b/dds.sh index bbe082e565..3ab3346ab9 100644 --- a/dds.sh +++ b/dds.sh @@ -1,6 +1,6 @@ package: DDS version: "%(tag_basename)s" -tag: "3.7.22" +tag: "3.7.23" source: https://github.com/FairRootGroup/DDS requires: - boost From ad4d1fbdb7b6ae8aebe85152bbb276605e34cfc5 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 5 Nov 2023 17:22:51 +0100 Subject: [PATCH 011/172] Attempt at compiling with latest ROOT --- geant3.sh | 7 +++++++ geant4_vmc.sh | 6 ++++++ vgm.sh | 6 ++++++ vmc.sh | 17 +++++++---------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/geant3.sh b/geant3.sh index 6e00471117..c613039fa1 100644 --- a/geant3.sh +++ b/geant3.sh @@ -19,9 +19,16 @@ if [ $FVERSION -ge 10 ]; then echo "Fortran version $FVERSION" SPECIALFFLAGS=1 fi +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac + cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DCMAKE_SKIP_RPATH=TRUE \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/geant4_vmc.sh b/geant4_vmc.sh index 0674134852..59b513a2ed 100644 --- a/geant4_vmc.sh +++ b/geant4_vmc.sh @@ -17,12 +17,18 @@ env: G4VMCINSTALL: "$GEANT4_VMC_ROOT" --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac LDFLAGS="$LDFLAGS -L$GEANT4_ROOT/lib" \ cmake "$SOURCEDIR" \ -GNinja \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DGeant4VMC_USE_VGM=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DGeant4VMC_BUILD_EXAMPLES=OFF \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} diff --git a/vgm.sh b/vgm.sh index b0bab728e9..dd28f70a61 100644 --- a/vgm.sh +++ b/vgm.sh @@ -9,10 +9,16 @@ build_requires: - CMake --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} make ${JOBS+-j $JOBS} install diff --git a/vmc.sh b/vmc.sh index 7d85426123..ec72b20643 100644 --- a/vmc.sh +++ b/vmc.sh @@ -20,25 +20,22 @@ mkdir -p "$MODULEDIR" alibuild-generate-module > $MODULEFILE [ "0$ENABLE_VMC" == "0" ] && exit 0 || true +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${JOBS:+-j$JOBS} install -# Make backward compatible in case a depending (older) package still needs libVMC.so -cd $INSTALLROOT/lib -case $ARCHITECTURE in - osx*) - ln -s libVMCLibrary.dylib libVMC.dylib - ;; - *) - ln -s libVMCLibrary.so libVMC.so - ;; -esac +ln -s libVMCLibrary.$SONAME $INSTALLROOT/lib/libVMC.$SONAME # update modulefile cat >> "$MODULEFILE" < Date: Sun, 5 Nov 2023 17:25:29 +0100 Subject: [PATCH 012/172] Use Ninja generator for ROOT --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 1964f17c87..b7bbcc72e8 100644 --- a/root.sh +++ b/root.sh @@ -126,6 +126,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From 134a03fc3fac08954c7e0a9a486c2d01a142bcb3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 8 Nov 2023 12:52:05 +0100 Subject: [PATCH 013/172] fmt: bump 10.1.0 --- fmt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fmt.sh b/fmt.sh index e96ebde68c..a6f2c11db4 100644 --- a/fmt.sh +++ b/fmt.sh @@ -1,6 +1,6 @@ package: fmt version: "%(tag_basename)s" -tag: 9.1.0 +tag: 10.1.0 source: https://github.com/fmtlib/fmt requires: - "GCC-Toolchain:(?!osx)" From 9263d22b35227ed8f93b25a4d23c77537a827b1c Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 8 Nov 2023 12:52:05 +0100 Subject: [PATCH 014/172] Make sure fmt builds with ninja --- fmt.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fmt.sh b/fmt.sh index 198104e066..e96ebde68c 100644 --- a/fmt.sh +++ b/fmt.sh @@ -7,14 +7,14 @@ requires: build_requires: - CMake - alibuild-recipe-tools + - ninja prepend_path: ROOT_INCLUDE_PATH: "$FMT_ROOT/include" --- #!/bin/bash -e -cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON +cmake $SOURCEDIR -GNinja -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON -make ${JOBS+-j $JOBS} -make install +cmake --build . --target install # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" From 1a05d1f01f73ef7d3c973c14caeb3b7d33c5d81f Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 8 Nov 2023 12:53:07 +0100 Subject: [PATCH 015/172] fmt: bump 10.1.0 --- fmt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fmt.sh b/fmt.sh index e96ebde68c..13c1e350ed 100644 --- a/fmt.sh +++ b/fmt.sh @@ -1,6 +1,6 @@ package: fmt version: "%(tag_basename)s" -tag: 9.1.0 +tag: 10.1.1 source: https://github.com/fmtlib/fmt requires: - "GCC-Toolchain:(?!osx)" From 25068b07cfcb6d5a4dd5c7f6ac0d34217772fca9 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 9 Nov 2023 08:49:43 +0100 Subject: [PATCH 016/172] Use Ninja generator for ROOT --- root.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.sh b/root.sh index 1964f17c87..9c81792d3e 100644 --- a/root.sh +++ b/root.sh @@ -24,6 +24,7 @@ build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools + - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: @@ -126,6 +127,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From d702dd883972a84fee66d2aa9be9b44397d9b0d5 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 9 Nov 2023 12:53:53 +0100 Subject: [PATCH 017/172] Modernize gRPC recipe * Properly use alibuild-generate-recipe. * Do not download packages out of band, since in any case we are not using them. --- grpc.sh | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/grpc.sh b/grpc.sh index 9de6902b77..f8ac16fda3 100644 --- a/grpc.sh +++ b/grpc.sh @@ -17,12 +17,6 @@ incremental_recipe: | mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- #!/bin/bash -e - -pushd $SOURCEDIR -git checkout "$GIT_TAG" -git submodule update --init -popd - SONAME=so case $ARCHITECTURE in osx*) @@ -54,7 +48,7 @@ cmake $SOURCEDIR \ -DgRPC_BENCHMARK_PROVIDER=package \ -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF \ -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF \ - -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ -DgRPC_BUILD_GRPC_CPP_PLUGIN=ON \ -DgRPC_BUILD_CSHARP_EXT=OFF \ -DgRPC_RE2_PROVIDER=package \ @@ -69,10 +63,5 @@ cmake --build . -- ${JOBS:+-j$JOBS} install #ModuleFile mkdir -p etc/modulefiles -alibuild-generate-module > etc/modulefiles/$PKGNAME -cat >> etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles From c03b2bc65d6fb31a6279f11a1ff290b14eb04666 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 12:42:23 +0100 Subject: [PATCH 018/172] Do not build FairMQ tests / examples --- fairmq.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fairmq.sh b/fairmq.sh index bf4d3d6bef..1623ab8019 100644 --- a/fairmq.sh +++ b/fairmq.sh @@ -39,8 +39,8 @@ cmake "${SOURCEDIR}" -DCMAKE_INSTALL_PREFIX="${INSTALLROOT}" \ ${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DDISABLE_COLOR=ON \ - -DBUILD_EXAMPLES=ON \ - -DBUILD_TESTING=ON + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TESTING=OFF # NOTE: FairMQ examples must always be built in RPMs as they are # used for AliECS integration testing. Please do not disable # them. From 3f091a3e9856b0ae918668b91d91af85e0123347 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 13:27:20 +0100 Subject: [PATCH 019/172] Do not build FairMQ tests / examples --- fairmq.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fairmq.sh b/fairmq.sh index bf4d3d6bef..1623ab8019 100644 --- a/fairmq.sh +++ b/fairmq.sh @@ -39,8 +39,8 @@ cmake "${SOURCEDIR}" -DCMAKE_INSTALL_PREFIX="${INSTALLROOT}" \ ${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DDISABLE_COLOR=ON \ - -DBUILD_EXAMPLES=ON \ - -DBUILD_TESTING=ON + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TESTING=OFF # NOTE: FairMQ examples must always be built in RPMs as they are # used for AliECS integration testing. Please do not disable # them. From ebdff09aec7c30b5b16c88bfdaf99c20f15f86eb Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 14:34:08 +0100 Subject: [PATCH 020/172] Use Ninja generator for ROOT --- root.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.sh b/root.sh index 1964f17c87..9c81792d3e 100644 --- a/root.sh +++ b/root.sh @@ -24,6 +24,7 @@ build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools + - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: @@ -126,6 +127,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From 01c329bfd4663f576e235225be10104bf8e06572 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 14:34:08 +0100 Subject: [PATCH 021/172] Make sure VDT is picked up by ROOT dependencies --- geant3.sh | 7 +++++++ geant4_vmc.sh | 6 ++++++ vgm.sh | 6 ++++++ vmc.sh | 17 +++++++---------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/geant3.sh b/geant3.sh index 6e00471117..c613039fa1 100644 --- a/geant3.sh +++ b/geant3.sh @@ -19,9 +19,16 @@ if [ $FVERSION -ge 10 ]; then echo "Fortran version $FVERSION" SPECIALFFLAGS=1 fi +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac + cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DCMAKE_SKIP_RPATH=TRUE \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/geant4_vmc.sh b/geant4_vmc.sh index 0674134852..59b513a2ed 100644 --- a/geant4_vmc.sh +++ b/geant4_vmc.sh @@ -17,12 +17,18 @@ env: G4VMCINSTALL: "$GEANT4_VMC_ROOT" --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac LDFLAGS="$LDFLAGS -L$GEANT4_ROOT/lib" \ cmake "$SOURCEDIR" \ -GNinja \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DGeant4VMC_USE_VGM=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DGeant4VMC_BUILD_EXAMPLES=OFF \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} diff --git a/vgm.sh b/vgm.sh index b0bab728e9..dd28f70a61 100644 --- a/vgm.sh +++ b/vgm.sh @@ -9,10 +9,16 @@ build_requires: - CMake --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} make ${JOBS+-j $JOBS} install diff --git a/vmc.sh b/vmc.sh index 7d85426123..ec72b20643 100644 --- a/vmc.sh +++ b/vmc.sh @@ -20,25 +20,22 @@ mkdir -p "$MODULEDIR" alibuild-generate-module > $MODULEFILE [ "0$ENABLE_VMC" == "0" ] && exit 0 || true +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${JOBS:+-j$JOBS} install -# Make backward compatible in case a depending (older) package still needs libVMC.so -cd $INSTALLROOT/lib -case $ARCHITECTURE in - osx*) - ln -s libVMCLibrary.dylib libVMC.dylib - ;; - *) - ln -s libVMCLibrary.so libVMC.so - ;; -esac +ln -s libVMCLibrary.$SONAME $INSTALLROOT/lib/libVMC.$SONAME # update modulefile cat >> "$MODULEFILE" < Date: Fri, 10 Nov 2023 14:34:08 +0100 Subject: [PATCH 022/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 9c81792d3e..356040d4dd 100644 --- a/root.sh +++ b/root.sh @@ -170,7 +170,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=ON \ -Dbuiltin_vdt=ON \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From fe8deac47d6a3211a02dbafda88361076bccbc2e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 14:34:09 +0100 Subject: [PATCH 023/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 356040d4dd..bfbce1b47a 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From 7a2fd2edc61d9e937fce7899fd2f488a5f9b6910 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 14:34:09 +0100 Subject: [PATCH 024/172] Allow FairRoot to digest newer ROOT --- fairroot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairroot.sh b/fairroot.sh index ab43e35a54..4253d7f671 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -1,5 +1,5 @@ package: FairRoot -version: "v18.4.9-alice2" +version: "v18.4.9-alice3" source: https://github.com/alisw/FairRoot requires: - generators From 0053a8327c6940fcc3245ce7445232964338fc4b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 14:34:09 +0100 Subject: [PATCH 025/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root.sh b/root.sh index bfbce1b47a..4bd4d20674 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow From 2b91e4935d32c4a276b2e1b1f10568f008f6c641 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 10 Nov 2023 22:08:33 +0100 Subject: [PATCH 026/172] Modernize gRPC recipe * Properly use alibuild-generate-recipe. * Do not download packages out of band, since in any case we are not using them. --- grpc.sh | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/grpc.sh b/grpc.sh index 9de6902b77..f8ac16fda3 100644 --- a/grpc.sh +++ b/grpc.sh @@ -17,12 +17,6 @@ incremental_recipe: | mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- #!/bin/bash -e - -pushd $SOURCEDIR -git checkout "$GIT_TAG" -git submodule update --init -popd - SONAME=so case $ARCHITECTURE in osx*) @@ -54,7 +48,7 @@ cmake $SOURCEDIR \ -DgRPC_BENCHMARK_PROVIDER=package \ -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF \ -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF \ - -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ + -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ -DgRPC_BUILD_GRPC_CPP_PLUGIN=ON \ -DgRPC_BUILD_CSHARP_EXT=OFF \ -DgRPC_RE2_PROVIDER=package \ @@ -69,10 +63,5 @@ cmake --build . -- ${JOBS:+-j$JOBS} install #ModuleFile mkdir -p etc/modulefiles -alibuild-generate-module > etc/modulefiles/$PKGNAME -cat >> etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles From 32297b505c82fdb7886d5225c059ab86a172c7a9 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 11 Nov 2023 09:18:43 +0100 Subject: [PATCH 027/172] Do not build FairMQ tests / examples --- fairmq.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fairmq.sh b/fairmq.sh index bf4d3d6bef..1623ab8019 100644 --- a/fairmq.sh +++ b/fairmq.sh @@ -39,8 +39,8 @@ cmake "${SOURCEDIR}" -DCMAKE_INSTALL_PREFIX="${INSTALLROOT}" \ ${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DDISABLE_COLOR=ON \ - -DBUILD_EXAMPLES=ON \ - -DBUILD_TESTING=ON + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TESTING=OFF # NOTE: FairMQ examples must always be built in RPMs as they are # used for AliECS integration testing. Please do not disable # them. From b1500b0041fe5926e8d81e1eb9ea62322e87219c Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 11 Nov 2023 09:20:09 +0100 Subject: [PATCH 028/172] Bump FairMQ version to v1.8.1 --- fairmq.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairmq.sh b/fairmq.sh index 1623ab8019..03ec1d3853 100644 --- a/fairmq.sh +++ b/fairmq.sh @@ -1,5 +1,5 @@ package: FairMQ -version: "v1.8.0" +version: "v1.8.1" source: https://github.com/FairRootGroup/FairMQ requires: - boost From 7f4c07c6b7dfa95074d81beb833554c2d0222e97 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 14:57:47 +0100 Subject: [PATCH 029/172] Use Ninja generator for ROOT --- root.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.sh b/root.sh index 1964f17c87..9c81792d3e 100644 --- a/root.sh +++ b/root.sh @@ -24,6 +24,7 @@ build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools + - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: @@ -126,6 +127,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From e961fad899f8671a4597443e17dc64646098c71c Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 14:57:47 +0100 Subject: [PATCH 030/172] Make sure VDT is picked up by ROOT dependencies --- geant3.sh | 7 +++++++ geant4_vmc.sh | 6 ++++++ vgm.sh | 6 ++++++ vmc.sh | 17 +++++++---------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/geant3.sh b/geant3.sh index 6e00471117..c613039fa1 100644 --- a/geant3.sh +++ b/geant3.sh @@ -19,9 +19,16 @@ if [ $FVERSION -ge 10 ]; then echo "Fortran version $FVERSION" SPECIALFFLAGS=1 fi +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac + cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DCMAKE_SKIP_RPATH=TRUE \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/geant4_vmc.sh b/geant4_vmc.sh index 0674134852..59b513a2ed 100644 --- a/geant4_vmc.sh +++ b/geant4_vmc.sh @@ -17,12 +17,18 @@ env: G4VMCINSTALL: "$GEANT4_VMC_ROOT" --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac LDFLAGS="$LDFLAGS -L$GEANT4_ROOT/lib" \ cmake "$SOURCEDIR" \ -GNinja \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DGeant4VMC_USE_VGM=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DGeant4VMC_BUILD_EXAMPLES=OFF \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} diff --git a/vgm.sh b/vgm.sh index b0bab728e9..dd28f70a61 100644 --- a/vgm.sh +++ b/vgm.sh @@ -9,10 +9,16 @@ build_requires: - CMake --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} make ${JOBS+-j $JOBS} install diff --git a/vmc.sh b/vmc.sh index 7d85426123..ec72b20643 100644 --- a/vmc.sh +++ b/vmc.sh @@ -20,25 +20,22 @@ mkdir -p "$MODULEDIR" alibuild-generate-module > $MODULEFILE [ "0$ENABLE_VMC" == "0" ] && exit 0 || true +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${JOBS:+-j$JOBS} install -# Make backward compatible in case a depending (older) package still needs libVMC.so -cd $INSTALLROOT/lib -case $ARCHITECTURE in - osx*) - ln -s libVMCLibrary.dylib libVMC.dylib - ;; - *) - ln -s libVMCLibrary.so libVMC.so - ;; -esac +ln -s libVMCLibrary.$SONAME $INSTALLROOT/lib/libVMC.$SONAME # update modulefile cat >> "$MODULEFILE" < Date: Sun, 12 Nov 2023 14:57:48 +0100 Subject: [PATCH 031/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 9c81792d3e..356040d4dd 100644 --- a/root.sh +++ b/root.sh @@ -170,7 +170,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=ON \ -Dbuiltin_vdt=ON \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From 911a1dbbf3634fb2ba64a9a3f4e9c868ca7ed035 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 14:57:48 +0100 Subject: [PATCH 032/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 356040d4dd..bfbce1b47a 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From 231a7769544ef32635627bc3c900cbb4fedb3eca Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 14:57:48 +0100 Subject: [PATCH 033/172] Allow FairRoot to digest newer ROOT --- fairroot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairroot.sh b/fairroot.sh index ab43e35a54..4253d7f671 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -1,5 +1,5 @@ package: FairRoot -version: "v18.4.9-alice2" +version: "v18.4.9-alice3" source: https://github.com/alisw/FairRoot requires: - generators From 57cb36fa1514d036c92410b0ef1e8b282170f267 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 14:57:48 +0100 Subject: [PATCH 034/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index bfbce1b47a..db4bdc8134 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -134,7 +134,6 @@ cmake $SOURCEDIR -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -Dalien=OFF \ - ${ALIEN_RUNTIME_REVISION:+-DMONALISA_DIR=$ALIEN_RUNTIME_ROOT} \ ${CMAKE_CXX_STANDARD:+-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}} \ -Dfreetype=ON \ -Dbuiltin_freetype=OFF \ @@ -164,6 +163,7 @@ cmake $SOURCEDIR -Dminuit2=ON \ -Dpythia6=ON \ -Dpythia6_nolink=ON \ + -Dmathmore=ON \ -Droofit=ON \ -Dhttp=ON \ -Droot7=OFF \ @@ -176,6 +176,7 @@ cmake $SOURCEDIR -Dbuiltin_afterimage=ON \ -Dbuiltin_fftw3=OFF \ -Dtmva-sofie=ON \ + -Dtmva-gpu=OFF \ -Ddavix=OFF \ ${USE_BUILTIN_GLEW:+-Dbuiltin_glew=ON} \ ${DISABLE_MYSQL:+-Dmysql=OFF} \ From cc624c8df05e53b14061afe4a7eab77d3975b93a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:00:55 +0100 Subject: [PATCH 035/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 9c81792d3e..356040d4dd 100644 --- a/root.sh +++ b/root.sh @@ -170,7 +170,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=ON \ -Dbuiltin_vdt=ON \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From 2483b27705948436c1bed1d40542af8a48eb394d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:00:55 +0100 Subject: [PATCH 036/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 356040d4dd..bfbce1b47a 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From b8cf033d8e3cccafe6f315ab979cdf4130f2643a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:00:55 +0100 Subject: [PATCH 037/172] Use Ninja generator for ROOT --- root.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.sh b/root.sh index 1964f17c87..9c81792d3e 100644 --- a/root.sh +++ b/root.sh @@ -24,6 +24,7 @@ build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools + - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: @@ -126,6 +127,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From 90bb95c58ac07cb00c416ecf0273503a94a8f9d3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:00:55 +0100 Subject: [PATCH 038/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index bfbce1b47a..db4bdc8134 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -134,7 +134,6 @@ cmake $SOURCEDIR -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -Dalien=OFF \ - ${ALIEN_RUNTIME_REVISION:+-DMONALISA_DIR=$ALIEN_RUNTIME_ROOT} \ ${CMAKE_CXX_STANDARD:+-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}} \ -Dfreetype=ON \ -Dbuiltin_freetype=OFF \ @@ -164,6 +163,7 @@ cmake $SOURCEDIR -Dminuit2=ON \ -Dpythia6=ON \ -Dpythia6_nolink=ON \ + -Dmathmore=ON \ -Droofit=ON \ -Dhttp=ON \ -Droot7=OFF \ @@ -176,6 +176,7 @@ cmake $SOURCEDIR -Dbuiltin_afterimage=ON \ -Dbuiltin_fftw3=OFF \ -Dtmva-sofie=ON \ + -Dtmva-gpu=OFF \ -Ddavix=OFF \ ${USE_BUILTIN_GLEW:+-Dbuiltin_glew=ON} \ ${DISABLE_MYSQL:+-Dmysql=OFF} \ From 93bcb3755c4b1dab8d770021491add1b24749c41 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:00:55 +0100 Subject: [PATCH 039/172] Allow FairRoot to digest newer ROOT --- fairroot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairroot.sh b/fairroot.sh index ab43e35a54..4253d7f671 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -1,5 +1,5 @@ package: FairRoot -version: "v18.4.9-alice2" +version: "v18.4.9-alice3" source: https://github.com/alisw/FairRoot requires: - generators From 6a8dd9d1efdf82eb3537a4fe771cee20a3e1ce62 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:00:55 +0100 Subject: [PATCH 040/172] Make sure VDT is picked up by ROOT dependencies --- geant3.sh | 7 +++++++ geant4_vmc.sh | 6 ++++++ vgm.sh | 6 ++++++ vmc.sh | 17 +++++++---------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/geant3.sh b/geant3.sh index 6e00471117..c613039fa1 100644 --- a/geant3.sh +++ b/geant3.sh @@ -19,9 +19,16 @@ if [ $FVERSION -ge 10 ]; then echo "Fortran version $FVERSION" SPECIALFFLAGS=1 fi +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac + cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DCMAKE_SKIP_RPATH=TRUE \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/geant4_vmc.sh b/geant4_vmc.sh index 0674134852..59b513a2ed 100644 --- a/geant4_vmc.sh +++ b/geant4_vmc.sh @@ -17,12 +17,18 @@ env: G4VMCINSTALL: "$GEANT4_VMC_ROOT" --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac LDFLAGS="$LDFLAGS -L$GEANT4_ROOT/lib" \ cmake "$SOURCEDIR" \ -GNinja \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DGeant4VMC_USE_VGM=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DGeant4VMC_BUILD_EXAMPLES=OFF \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} diff --git a/vgm.sh b/vgm.sh index b0bab728e9..dd28f70a61 100644 --- a/vgm.sh +++ b/vgm.sh @@ -9,10 +9,16 @@ build_requires: - CMake --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} make ${JOBS+-j $JOBS} install diff --git a/vmc.sh b/vmc.sh index 7d85426123..ec72b20643 100644 --- a/vmc.sh +++ b/vmc.sh @@ -20,25 +20,22 @@ mkdir -p "$MODULEDIR" alibuild-generate-module > $MODULEFILE [ "0$ENABLE_VMC" == "0" ] && exit 0 || true +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${JOBS:+-j$JOBS} install -# Make backward compatible in case a depending (older) package still needs libVMC.so -cd $INSTALLROOT/lib -case $ARCHITECTURE in - osx*) - ln -s libVMCLibrary.dylib libVMC.dylib - ;; - *) - ln -s libVMCLibrary.so libVMC.so - ;; -esac +ln -s libVMCLibrary.$SONAME $INSTALLROOT/lib/libVMC.$SONAME # update modulefile cat >> "$MODULEFILE" < Date: Sun, 12 Nov 2023 15:03:40 +0100 Subject: [PATCH 041/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index bfbce1b47a..72fe149670 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -53,6 +53,7 @@ incremental_recipe: | # understand yaml. cat >/dev/null < Date: Sun, 12 Nov 2023 15:14:40 +0100 Subject: [PATCH 042/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 9c81792d3e..6747ea3aae 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From 87b7cd6d84614aad0750afd933de4411490e51c0 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:14:40 +0100 Subject: [PATCH 043/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 6747ea3aae..bfbce1b47a 100644 --- a/root.sh +++ b/root.sh @@ -171,7 +171,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=ON \ -Dbuiltin_vdt=ON \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From 3614c1ae701ef54bef34fd0c401849d1440ae868 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:14:40 +0100 Subject: [PATCH 044/172] Allow FairRoot to digest newer ROOT --- fairroot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairroot.sh b/fairroot.sh index ab43e35a54..4253d7f671 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -1,5 +1,5 @@ package: FairRoot -version: "v18.4.9-alice2" +version: "v18.4.9-alice3" source: https://github.com/alisw/FairRoot requires: - generators From 4c55b61169c65019cc64f9440bf176ff282019a0 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sun, 12 Nov 2023 15:14:40 +0100 Subject: [PATCH 045/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index bfbce1b47a..72fe149670 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -53,6 +53,7 @@ incremental_recipe: | # understand yaml. cat >/dev/null < Date: Tue, 14 Nov 2023 19:18:38 +0100 Subject: [PATCH 046/172] Make sure fmt builds with ninja --- fmt.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fmt.sh b/fmt.sh index 198104e066..e96ebde68c 100644 --- a/fmt.sh +++ b/fmt.sh @@ -7,14 +7,14 @@ requires: build_requires: - CMake - alibuild-recipe-tools + - ninja prepend_path: ROOT_INCLUDE_PATH: "$FMT_ROOT/include" --- #!/bin/bash -e -cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON +cmake $SOURCEDIR -GNinja -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON -make ${JOBS+-j $JOBS} -make install +cmake --build . --target install # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" From 83138743a79c1dccce80876b9ede7af626397b24 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 14 Nov 2023 19:18:39 +0100 Subject: [PATCH 047/172] fmt: bump 10.1.0 --- fmt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fmt.sh b/fmt.sh index e96ebde68c..13c1e350ed 100644 --- a/fmt.sh +++ b/fmt.sh @@ -1,6 +1,6 @@ package: fmt version: "%(tag_basename)s" -tag: 9.1.0 +tag: 10.1.1 source: https://github.com/fmtlib/fmt requires: - "GCC-Toolchain:(?!osx)" From ab5f7aea2e6fce2dbf4b547ba2060fe7b4eee5d1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 15 Nov 2023 12:39:05 +0100 Subject: [PATCH 048/172] Bump arrow to 14.0.1 --- arrow.sh | 4 ++-- o2.sh | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arrow.sh b/arrow.sh index e255781b77..0e6bb354bb 100644 --- a/arrow.sh +++ b/arrow.sh @@ -1,6 +1,6 @@ package: arrow -version: "v11.0.0-alice1" -tag: apache-arrow-11.0.0-alice3 +version: "v14.0.1-alice1" +tag: apache-arrow-14.0.1-alice1 source: https://github.com/alisw/arrow.git requires: - boost diff --git a/o2.sh b/o2.sh index 2da03c43e0..a1974adedd 100644 --- a/o2.sh +++ b/o2.sh @@ -201,7 +201,8 @@ cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT ${ENABLE_UPGRADES:+-DENABLE_UPGRADES=$ENABLE_UPGRADES} \ ${ARROW_ROOT:+-DGandiva_DIR=$ARROW_ROOT/lib/cmake/Gandiva} \ ${ARROW_ROOT:+-DArrow_DIR=$ARROW_ROOT/lib/cmake/Arrow} \ - ${ARROW_ROOT:+${CLANG_ROOT:+-DLLVM_ROOT=$CLANG_ROOT}} \ + ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ + ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${ITSRESPONSE_ROOT:+-DITSRESPONSE=${ITSRESPONSE_ROOT}} # LLVM_ROOT is required for Gandiva From 9a2741990854fcac957f8eb39eaa6fe6d6b0b15a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 15 Nov 2023 12:39:05 +0100 Subject: [PATCH 049/172] Bump arrow to 14.0.1 --- arrow.sh | 4 ++-- o2.sh | 3 ++- o2physics.sh | 20 +++++++++++--------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/arrow.sh b/arrow.sh index e255781b77..0e6bb354bb 100644 --- a/arrow.sh +++ b/arrow.sh @@ -1,6 +1,6 @@ package: arrow -version: "v11.0.0-alice1" -tag: apache-arrow-11.0.0-alice3 +version: "v14.0.1-alice1" +tag: apache-arrow-14.0.1-alice1 source: https://github.com/alisw/arrow.git requires: - boost diff --git a/o2.sh b/o2.sh index 2da03c43e0..a1974adedd 100644 --- a/o2.sh +++ b/o2.sh @@ -201,7 +201,8 @@ cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT ${ENABLE_UPGRADES:+-DENABLE_UPGRADES=$ENABLE_UPGRADES} \ ${ARROW_ROOT:+-DGandiva_DIR=$ARROW_ROOT/lib/cmake/Gandiva} \ ${ARROW_ROOT:+-DArrow_DIR=$ARROW_ROOT/lib/cmake/Arrow} \ - ${ARROW_ROOT:+${CLANG_ROOT:+-DLLVM_ROOT=$CLANG_ROOT}} \ + ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ + ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${ITSRESPONSE_ROOT:+-DITSRESPONSE=${ITSRESPONSE_ROOT}} # LLVM_ROOT is required for Gandiva diff --git a/o2physics.sh b/o2physics.sh index fdbf0f80ec..f40d08c6c6 100644 --- a/o2physics.sh +++ b/o2physics.sh @@ -28,15 +28,17 @@ fi # When O2 is built against Gandiva (from Arrow), then we need to use # -DLLVM_ROOT=$CLANG_ROOT, since O2's CMake calls into Gandiva's # -CMake, which requires it. -cmake "$SOURCEDIR" "-DCMAKE_INSTALL_PREFIX=$INSTALLROOT" \ - -G Ninja \ - ${CMAKE_BUILD_TYPE:+"-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"} \ - ${CXXSTD:+"-DCMAKE_CXX_STANDARD=$CXXSTD"} \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - ${CLANG_ROOT:+-DLLVM_ROOT="$CLANG_ROOT"} \ - ${ONNXRUNTIME_ROOT:+-DONNXRuntime_DIR=$ONNXRUNTIME_ROOT} \ - ${FASTJET_ROOT:+-Dfjcontrib_ROOT="$FASTJET_ROOT"} \ - ${LIBJALIENO2_ROOT:+-DlibjalienO2_ROOT=$LIBJALIENO2_ROOT} \ +cmake "$SOURCEDIR" "-DCMAKE_INSTALL_PREFIX=$INSTALLROOT" \ + -G Ninja \ + ${CMAKE_BUILD_TYPE:+"-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"} \ + ${CXXSTD:+"-DCMAKE_CXX_STANDARD=$CXXSTD"} \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + ${CLANG_ROOT:+-DLLVM_ROOT="$CLANG_ROOT"} \ + ${ONNXRUNTIME_ROOT:+-DONNXRuntime_DIR=$ONNXRUNTIME_ROOT} \ + ${FASTJET_ROOT:+-Dfjcontrib_ROOT="$FASTJET_ROOT"} \ + ${LIBJALIENO2_ROOT:+-DlibjalienO2_ROOT=$LIBJALIENO2_ROOT} \ + ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ + ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${LIBUV_ROOT:+-DLibUV_ROOT=$LIBUV_ROOT} cmake --build . -- ${JOBS+-j $JOBS} install From 9bfd5a837c3f6eeb017f6e236a5dacc7132f4be3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 15 Nov 2023 13:29:37 +0100 Subject: [PATCH 050/172] Bump arrow to 14.0.1 --- arrow.sh | 4 ++-- o2.sh | 3 ++- o2physics.sh | 20 +++++++++++--------- qualitycontrol.sh | 44 +++++++++++++++++++++++--------------------- 4 files changed, 38 insertions(+), 33 deletions(-) diff --git a/arrow.sh b/arrow.sh index e255781b77..0e6bb354bb 100644 --- a/arrow.sh +++ b/arrow.sh @@ -1,6 +1,6 @@ package: arrow -version: "v11.0.0-alice1" -tag: apache-arrow-11.0.0-alice3 +version: "v14.0.1-alice1" +tag: apache-arrow-14.0.1-alice1 source: https://github.com/alisw/arrow.git requires: - boost diff --git a/o2.sh b/o2.sh index 2da03c43e0..a1974adedd 100644 --- a/o2.sh +++ b/o2.sh @@ -201,7 +201,8 @@ cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT ${ENABLE_UPGRADES:+-DENABLE_UPGRADES=$ENABLE_UPGRADES} \ ${ARROW_ROOT:+-DGandiva_DIR=$ARROW_ROOT/lib/cmake/Gandiva} \ ${ARROW_ROOT:+-DArrow_DIR=$ARROW_ROOT/lib/cmake/Arrow} \ - ${ARROW_ROOT:+${CLANG_ROOT:+-DLLVM_ROOT=$CLANG_ROOT}} \ + ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ + ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${ITSRESPONSE_ROOT:+-DITSRESPONSE=${ITSRESPONSE_ROOT}} # LLVM_ROOT is required for Gandiva diff --git a/o2physics.sh b/o2physics.sh index fdbf0f80ec..f40d08c6c6 100644 --- a/o2physics.sh +++ b/o2physics.sh @@ -28,15 +28,17 @@ fi # When O2 is built against Gandiva (from Arrow), then we need to use # -DLLVM_ROOT=$CLANG_ROOT, since O2's CMake calls into Gandiva's # -CMake, which requires it. -cmake "$SOURCEDIR" "-DCMAKE_INSTALL_PREFIX=$INSTALLROOT" \ - -G Ninja \ - ${CMAKE_BUILD_TYPE:+"-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"} \ - ${CXXSTD:+"-DCMAKE_CXX_STANDARD=$CXXSTD"} \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - ${CLANG_ROOT:+-DLLVM_ROOT="$CLANG_ROOT"} \ - ${ONNXRUNTIME_ROOT:+-DONNXRuntime_DIR=$ONNXRUNTIME_ROOT} \ - ${FASTJET_ROOT:+-Dfjcontrib_ROOT="$FASTJET_ROOT"} \ - ${LIBJALIENO2_ROOT:+-DlibjalienO2_ROOT=$LIBJALIENO2_ROOT} \ +cmake "$SOURCEDIR" "-DCMAKE_INSTALL_PREFIX=$INSTALLROOT" \ + -G Ninja \ + ${CMAKE_BUILD_TYPE:+"-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"} \ + ${CXXSTD:+"-DCMAKE_CXX_STANDARD=$CXXSTD"} \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + ${CLANG_ROOT:+-DLLVM_ROOT="$CLANG_ROOT"} \ + ${ONNXRUNTIME_ROOT:+-DONNXRuntime_DIR=$ONNXRUNTIME_ROOT} \ + ${FASTJET_ROOT:+-Dfjcontrib_ROOT="$FASTJET_ROOT"} \ + ${LIBJALIENO2_ROOT:+-DlibjalienO2_ROOT=$LIBJALIENO2_ROOT} \ + ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ + ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${LIBUV_ROOT:+-DLibUV_ROOT=$LIBUV_ROOT} cmake --build . -- ${JOBS+-j $JOBS} install diff --git a/qualitycontrol.sh b/qualitycontrol.sh index 6fbf10fafa..1f4052ada0 100644 --- a/qualitycontrol.sh +++ b/qualitycontrol.sh @@ -70,28 +70,30 @@ if [[ $ALIBUILD_O2_TESTS ]]; then fi CXXFLAGS="${CXXFLAGS} -Wno-error=deprecated-declarations -Wno-error=unused-function" # Outside the if to make sure we have it in all cases -cmake $SOURCEDIR \ - -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ - -G Ninja \ - -DBOOST_ROOT=$BOOST_ROOT \ - -DCommon_ROOT=$COMMON_O2_ROOT \ - -DConfiguration_ROOT=$CONFIGURATION_ROOT \ - ${LIBINFOLOGGER_REVISION:+-DInfoLogger_ROOT=$LIBINFOLOGGER_ROOT} \ - -DO2_ROOT=$O2_ROOT \ - -DMS_GSL_INCLUDE_DIR=$MS_GSL_ROOT/include \ - ${ARROW_ROOT:+-DGandiva_DIR=$ARROW_ROOT/lib/cmake/Gandiva} \ - ${ARROW_ROOT:+-DArrow_DIR=$ARROW_ROOT/lib/cmake/Arrow} \ - ${ARROW_ROOT:+${CLANG_ROOT:+-DLLVM_ROOT=$CLANG_ROOT}} \ - ${CLANG_ROOT:+-DLLVM_ROOT="$CLANG_ROOT"} \ - ${CONTROL_OCCPLUGIN_REVISION:+-DOcc_ROOT=$CONTROL_OCCPLUGIN_ROOT} \ - ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ - ${OPENSSL_ROOT_DIR:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR} \ - ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ +cmake $SOURCEDIR \ + -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ + -G Ninja \ + -DBOOST_ROOT=$BOOST_ROOT \ + -DCommon_ROOT=$COMMON_O2_ROOT \ + -DConfiguration_ROOT=$CONFIGURATION_ROOT \ + ${LIBINFOLOGGER_REVISION:+-DInfoLogger_ROOT=$LIBINFOLOGGER_ROOT} \ + -DO2_ROOT=$O2_ROOT \ + -DMS_GSL_INCLUDE_DIR=$MS_GSL_ROOT/include \ + ${ARROW_ROOT:+-DGandiva_DIR=$ARROW_ROOT/lib/cmake/Gandiva} \ + ${ARROW_ROOT:+-DArrow_DIR=$ARROW_ROOT/lib/cmake/Arrow} \ + ${ARROW_ROOT:+${CLANG_ROOT:+-DLLVM_ROOT=$CLANG_ROOT}} \ + ${CLANG_ROOT:+-DLLVM_ROOT="$CLANG_ROOT"} \ + ${CONTROL_OCCPLUGIN_REVISION:+-DOcc_ROOT=$CONTROL_OCCPLUGIN_ROOT} \ + ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + ${OPENSSL_ROOT_DIR:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR} \ + ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ - ${LIBUV_ROOT:+-DLibUV_INCLUDE_DIR=$LIBUV_ROOT/include} \ - ${LIBUV_ROOT:+-DLibUV_LIBRARY=$LIBUV_ROOT/lib/libuv.$SONAME} \ - ${LIBJALIENO2_ROOT:+-DlibjalienO2_ROOT=$LIBJALIENO2_ROOT} \ - ${BOOKKEEPING_API_REVISION:+-DBookkeepingApi_ROOT=$BOOKKEEPINGAPI_ROOT} \ + ${LIBUV_ROOT:+-DLibUV_INCLUDE_DIR=$LIBUV_ROOT/include} \ + ${LIBUV_ROOT:+-DLibUV_LIBRARY=$LIBUV_ROOT/lib/libuv.$SONAME} \ + ${LIBJALIENO2_ROOT:+-DlibjalienO2_ROOT=$LIBJALIENO2_ROOT} \ + ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ + ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ + ${BOOKKEEPING_API_REVISION:+-DBookkeepingApi_ROOT=$BOOKKEEPINGAPI_ROOT} \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON cp ${BUILDDIR}/compile_commands.json ${INSTALLROOT} From 837db0b53de1210ad757e8efa5ae22fd7575120b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 06:55:24 +0100 Subject: [PATCH 051/172] Bump DataDistribution to support fmt 10.1.1 --- datadistribution.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datadistribution.sh b/datadistribution.sh index cf652301ff..6d5f2b532d 100644 --- a/datadistribution.sh +++ b/datadistribution.sh @@ -1,6 +1,6 @@ package: DataDistribution version: "%(tag_basename)s" -tag: v1.6.2 +tag: v1.6.3 requires: - "GCC-Toolchain:(?!osx)" - boost From 4c8c6459e298192475157c62de0e13ae7254cbc4 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 06:59:13 +0100 Subject: [PATCH 052/172] fmt: bump 10.1.1 --- fmt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fmt.sh b/fmt.sh index 198104e066..4793c94e7c 100644 --- a/fmt.sh +++ b/fmt.sh @@ -1,6 +1,6 @@ package: fmt version: "%(tag_basename)s" -tag: 9.1.0 +tag: 10.1.1 source: https://github.com/fmtlib/fmt requires: - "GCC-Toolchain:(?!osx)" From 2e5035b61b2446dfd449badae57b8bc755766bdb Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 053/172] Make sure fmt builds with ninja --- fmt.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fmt.sh b/fmt.sh index 4793c94e7c..13c1e350ed 100644 --- a/fmt.sh +++ b/fmt.sh @@ -7,14 +7,14 @@ requires: build_requires: - CMake - alibuild-recipe-tools + - ninja prepend_path: ROOT_INCLUDE_PATH: "$FMT_ROOT/include" --- #!/bin/bash -e -cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON +cmake $SOURCEDIR -GNinja -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON -make ${JOBS+-j $JOBS} -make install +cmake --build . --target install # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" From 499f3d3132d80431ef623bbae7dc91d30ec73b50 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 16:23:27 +0100 Subject: [PATCH 054/172] Bump JETSCAPE to 3.1.1-alice3 Needed to detect the new ROOT --- jetscape.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetscape.sh b/jetscape.sh index 212e8ccb9a..361ab22909 100644 --- a/jetscape.sh +++ b/jetscape.sh @@ -1,6 +1,6 @@ package: JETSCAPE version: "%(tag_basename)s" -tag: "v3.1.1-alice2" +tag: "v3.1.1-alice3" source: https://github.com/alisw/JETSCAPE requires: - boost From c3a5f26f5537e7ff6ade6d2c23b439a88a397026 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 055/172] Use Ninja generator for ROOT --- root.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.sh b/root.sh index 1964f17c87..9c81792d3e 100644 --- a/root.sh +++ b/root.sh @@ -24,6 +24,7 @@ build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools + - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: @@ -126,6 +127,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From dc7a49fa84f4a09d13e2eae5fcc6ecce3e90ff52 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 056/172] Make sure VDT is picked up by ROOT dependencies --- geant3.sh | 7 +++++++ geant4_vmc.sh | 6 ++++++ vgm.sh | 6 ++++++ vmc.sh | 17 +++++++---------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/geant3.sh b/geant3.sh index 6e00471117..c613039fa1 100644 --- a/geant3.sh +++ b/geant3.sh @@ -19,9 +19,16 @@ if [ $FVERSION -ge 10 ]; then echo "Fortran version $FVERSION" SPECIALFFLAGS=1 fi +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac + cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DCMAKE_SKIP_RPATH=TRUE \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/geant4_vmc.sh b/geant4_vmc.sh index 0674134852..59b513a2ed 100644 --- a/geant4_vmc.sh +++ b/geant4_vmc.sh @@ -17,12 +17,18 @@ env: G4VMCINSTALL: "$GEANT4_VMC_ROOT" --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac LDFLAGS="$LDFLAGS -L$GEANT4_ROOT/lib" \ cmake "$SOURCEDIR" \ -GNinja \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DGeant4VMC_USE_VGM=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DGeant4VMC_BUILD_EXAMPLES=OFF \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} diff --git a/vgm.sh b/vgm.sh index b0bab728e9..dd28f70a61 100644 --- a/vgm.sh +++ b/vgm.sh @@ -9,10 +9,16 @@ build_requires: - CMake --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} make ${JOBS+-j $JOBS} install diff --git a/vmc.sh b/vmc.sh index 7d85426123..ec72b20643 100644 --- a/vmc.sh +++ b/vmc.sh @@ -20,25 +20,22 @@ mkdir -p "$MODULEDIR" alibuild-generate-module > $MODULEFILE [ "0$ENABLE_VMC" == "0" ] && exit 0 || true +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${JOBS:+-j$JOBS} install -# Make backward compatible in case a depending (older) package still needs libVMC.so -cd $INSTALLROOT/lib -case $ARCHITECTURE in - osx*) - ln -s libVMCLibrary.dylib libVMC.dylib - ;; - *) - ln -s libVMCLibrary.so libVMC.so - ;; -esac +ln -s libVMCLibrary.$SONAME $INSTALLROOT/lib/libVMC.$SONAME # update modulefile cat >> "$MODULEFILE" < Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 057/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 9c81792d3e..6747ea3aae 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From b6be639f58dcd7cdb71572cad5a2729a2bfddd80 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 058/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 6747ea3aae..bfbce1b47a 100644 --- a/root.sh +++ b/root.sh @@ -171,7 +171,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=ON \ -Dbuiltin_vdt=ON \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From 2d0e43b6069dc02daf556d828fdcb4296fbaf186 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 059/172] Allow FairRoot to digest newer ROOT --- fairroot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairroot.sh b/fairroot.sh index ab43e35a54..4253d7f671 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -1,5 +1,5 @@ package: FairRoot -version: "v18.4.9-alice2" +version: "v18.4.9-alice3" source: https://github.com/alisw/FairRoot requires: - generators From f51f3a64f76eb5b58cdf13559ca15780665efa65 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:55:39 +0100 Subject: [PATCH 060/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index bfbce1b47a..72fe149670 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -53,6 +53,7 @@ incremental_recipe: | # understand yaml. cat >/dev/null < Date: Thu, 16 Nov 2023 23:22:33 +0100 Subject: [PATCH 061/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 1d9bfefe51548c4847d945731bf4ecf502fdda96 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 23:22:33 +0100 Subject: [PATCH 062/172] Bump boost to 1.83.0 This is needed to work with the new XCode 15. --- boost.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..03189545f8 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.83.0 +tag: v1.83.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac From accd500478595f84dfe3571d3ddda28da0e61740 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 16 Nov 2023 23:22:33 +0100 Subject: [PATCH 063/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From f41bcbf4c32a1081142763d2fc5ddb3d805a6453 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 17 Nov 2023 09:02:54 +0100 Subject: [PATCH 064/172] Bump boost to 1.83.0 This is needed to work with the new XCode 15 & C++20. --- boost.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..03189545f8 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.83.0 +tag: v1.83.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac From 31330832d0e340f3630a8080d4f966439f116c76 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 17 Nov 2023 09:03:02 +0100 Subject: [PATCH 065/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From bbb8984f2ca73a9575d159aa173529feef4e6a73 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 18 Nov 2023 09:16:51 +0100 Subject: [PATCH 066/172] Bump boost to 1.76.0 One step at the time to limit the regression in boost::interprocess --- boost.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..f39bda2c8d 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.76.0 +tag: v1.76.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac From 1dba2c798c85ec226d350b2a08de2509a328d9b0 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 18 Nov 2023 09:17:23 +0100 Subject: [PATCH 067/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 6ec7a7a3a09aa3564f3ffdb3952ba61f046f508b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 18 Nov 2023 16:45:54 +0100 Subject: [PATCH 068/172] Bump boost to 1.81.0 One step at the time to limit the regression in boost::interprocess --- boost.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..67aac95cf5 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.81.0 +tag: v1.81.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac From 2e8b2d471e5a3da0e602ba7ac89b9ec274a527ef Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Sat, 18 Nov 2023 16:45:59 +0100 Subject: [PATCH 069/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 8957b138b0c5bb0e4e088bc7733b85ab148ee814 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 08:38:04 +0100 Subject: [PATCH 070/172] Bump boost to 1.81.0 One step at the time to limit the regression in boost::interprocess --- boost.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..67aac95cf5 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.81.0 +tag: v1.81.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac From 173c61b4c46b9c723e34e328498af881543acd84 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 08:38:04 +0100 Subject: [PATCH 071/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From d76710136c3f12eaf5b7b305d1625d3b251dd25b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 08:38:04 +0100 Subject: [PATCH 072/172] Bump boost to 1.81.0 One step at the time to limit the regression in boost::interprocess --- boost.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..b87ce96555 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.81.0 +tag: v1.81.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac @@ -84,7 +84,6 @@ b2 -q \ --without-graph \ --without-graph_parallel \ --without-locale \ - --without-math \ --without-mpi \ ${BOOST_NO_PYTHON:+--without-python} \ --without-wave \ From 87d7a4139be312c5f94b7de0c93924f6c82e3b38 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 08:38:04 +0100 Subject: [PATCH 073/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From f6e4cd74e0538ab6ab00df68020808226b902385 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 09:08:37 +0100 Subject: [PATCH 074/172] Bump boost to 1.81.0 One step at the time to limit the regression in boost::interprocess --- boost.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..832967c9bf 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.81.0 +tag: v1.81.0 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac @@ -84,10 +84,8 @@ b2 -q \ --without-graph \ --without-graph_parallel \ --without-locale \ - --without-math \ --without-mpi \ ${BOOST_NO_PYTHON:+--without-python} \ - --without-wave \ --debug-configuration \ -sNO_ZSTD=1 \ ${BZ2_ROOT:+-sBZIP2_INCLUDE="$BZ2_ROOT/include"} \ From 27008aba3bd85afef414333873728e3bbea45a60 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 09:08:37 +0100 Subject: [PATCH 075/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 12231922fb688cd83af3bc3d82b4f3349d646ee8 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 20 Nov 2023 11:56:59 +0100 Subject: [PATCH 076/172] Use ninja in infologger --- infologger.sh | 5 +++-- libinfologger.sh | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/infologger.sh b/infologger.sh index 62aaf86847..606de6c5ad 100644 --- a/infologger.sh +++ b/infologger.sh @@ -27,11 +27,12 @@ fi cmake $SOURCEDIR \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ - ${BOOST_REVISION:+-DBOOST_ROOT=$BOOST_ROOT} \ + -G Ninja \ + ${BOOST_REVISION:+-DBOOST_ROOT=$BOOST_ROOT} \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON cp ${BUILDDIR}/compile_commands.json ${INSTALLROOT} -make ${JOBS+-j $JOBS} install +ninja ${JOBS+-j $JOBS} install #ModuleFile mkdir -p etc/modulefiles diff --git a/libinfologger.sh b/libinfologger.sh index 3ac245b809..6ac43dcdd2 100644 --- a/libinfologger.sh +++ b/libinfologger.sh @@ -6,10 +6,11 @@ requires: - "GCC-Toolchain:(?!osx)" build_requires: - CMake + - ninja - alibuild-recipe-tools source: https://github.com/AliceO2Group/InfoLogger incremental_recipe: | - make ${JOBS:+-j$JOBS} install + ninja ${JOBS:+-j$JOBS} install mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- #!/bin/bash -ex @@ -19,13 +20,14 @@ case $ARCHITECTURE in esac cmake $SOURCEDIR \ + -G Ninja \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ - ${BOOST_REVISION:+-DBOOST_ROOT=$BOOST_ROOT} \ + ${BOOST_REVISION:+-DBOOST_ROOT=$BOOST_ROOT} \ -DINFOLOGGER_BUILD_LIBONLY=1 \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON cp ${BUILDDIR}/compile_commands.json ${INSTALLROOT} -make ${JOBS+-j $JOBS} install +ninja ${JOBS+-j $JOBS} install #ModuleFile mkdir -p etc/modulefiles From c9a8ce1e5310602ebc7c872ba92c65b36e232ec0 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 21 Nov 2023 12:18:44 +0100 Subject: [PATCH 077/172] Bump boost to 1.83.0-alice1 Custom tag needed due to change in behaviour of boost::interprocess. --- boost.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..634f0faf4e 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.83.0-alice1 +tag: v1.83.0-alice1 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac @@ -84,10 +84,8 @@ b2 -q \ --without-graph \ --without-graph_parallel \ --without-locale \ - --without-math \ --without-mpi \ ${BOOST_NO_PYTHON:+--without-python} \ - --without-wave \ --debug-configuration \ -sNO_ZSTD=1 \ ${BZ2_ROOT:+-sBZIP2_INCLUDE="$BZ2_ROOT/include"} \ From 9fe8160717f20bce3428e19dd93444b03b99c3f3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 21 Nov 2023 12:18:44 +0100 Subject: [PATCH 078/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From df36c56ef048cc28aba40ce533ce5f8df3eb90e3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:10:20 +0100 Subject: [PATCH 079/172] Bump JETSCAPE to 3.1.1-alice5 Fixes for new boost --- jetscape.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetscape.sh b/jetscape.sh index 6a62621093..baa344237a 100644 --- a/jetscape.sh +++ b/jetscape.sh @@ -1,6 +1,6 @@ package: JETSCAPE version: "%(tag_basename)s" -tag: "v3.1.1-alice4" +tag: "v3.1.1-alice5" source: https://github.com/alisw/JETSCAPE requires: - boost From e9e239ece990cc1aa370a4c10619f1e9fc49bb06 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:08:47 +0100 Subject: [PATCH 080/172] Bump boost to 1.83.0-alice1 Custom tag needed due to change in behaviour of boost::interprocess. --- boost.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/boost.sh b/boost.sh index f021c78832..634f0faf4e 100644 --- a/boost.sh +++ b/boost.sh @@ -1,6 +1,6 @@ package: boost -version: v1.75.0 -tag: v1.75.0 +version: v1.83.0-alice1 +tag: v1.83.0-alice1 source: https://github.com/alisw/boost.git requires: - "GCC-Toolchain:(?!osx)" @@ -54,7 +54,7 @@ fi TMPB2=$BUILDDIR/tmp-boost-build case $ARCHITECTURE in - osx*) TOOLSET=clang-darwin ;; + osx*) TOOLSET=clang ;; *) TOOLSET=gcc ;; esac @@ -84,10 +84,8 @@ b2 -q \ --without-graph \ --without-graph_parallel \ --without-locale \ - --without-math \ --without-mpi \ ${BOOST_NO_PYTHON:+--without-python} \ - --without-wave \ --debug-configuration \ -sNO_ZSTD=1 \ ${BZ2_ROOT:+-sBZIP2_INCLUDE="$BZ2_ROOT/include"} \ From c6fc3f9d214fc1934e39150771254c5991bb651a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:12:10 +0100 Subject: [PATCH 081/172] Bump to monitoring 3.18.0 Required for C++20 --- monitoring.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.sh b/monitoring.sh index 9717869510..9782d72e3c 100644 --- a/monitoring.sh +++ b/monitoring.sh @@ -1,6 +1,6 @@ package: Monitoring version: "%(tag_basename)s" -tag: v3.17.5 +tag: v3.18.0 requires: - boost - "GCC-Toolchain:(?!osx)" From c009bdd69899e0dfc360c6e72aff4932ad71e063 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:08:47 +0100 Subject: [PATCH 082/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 02dbdf7fcba77253e8569a7a9ec9ae0587dd2449 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 23 Nov 2023 09:35:49 +0100 Subject: [PATCH 083/172] Drop unneeded packages on macOS * DataDistribution does not actually work / is needed * ODC is not needed --- o2pdpsuite.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/o2pdpsuite.sh b/o2pdpsuite.sh index 211536d757..24b48ca2fe 100644 --- a/o2pdpsuite.sh +++ b/o2pdpsuite.sh @@ -6,11 +6,11 @@ requires: # pulled in by O2sim, so they show up in the dependency list on Monalisa. - O2 - O2Physics - - DataDistribution + - "DataDistribution:(?!osx)" - QualityControl - O2DPG - O2sim - - ODC + - "ODC:(?!osx)" valid_defaults: - o2 - o2-dataflow From a34ac258b7187efec9317a37caaf9b606155012e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 23 Nov 2023 09:38:26 +0100 Subject: [PATCH 084/172] JETSCAPE: disable unittests --- jetscape.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jetscape.sh b/jetscape.sh index baa344237a..4328464a8b 100644 --- a/jetscape.sh +++ b/jetscape.sh @@ -26,6 +26,7 @@ esac -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DPYTHIA8=$PYTHIA_ROOT \ + -Dunittests=OFF \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${IGNORE_ERRORS:+-k} ${JOBS+-j $JOBS} install From f89427155ef5ff2a76aa3e5f9e02c33f4d941d3f Mon Sep 17 00:00:00 2001 From: sy-c Date: Fri, 24 Nov 2023 12:22:42 +0100 Subject: [PATCH 085/172] Update readout.sh --- readout.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readout.sh b/readout.sh index b020b5b082..6506f6c62b 100644 --- a/readout.sh +++ b/readout.sh @@ -1,6 +1,6 @@ package: Readout version: "%(tag_basename)s" -tag: v2.21.6 +tag: v2.21.7 requires: - boost - "GCC-Toolchain:(?!osx)" From 6eccf3d8a3c5ed0b3d912200af9624244ef4e23c Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:22:13 +0100 Subject: [PATCH 086/172] Bump to monitoring 3.18.0 Required for C++20 --- monitoring.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.sh b/monitoring.sh index 9717869510..9782d72e3c 100644 --- a/monitoring.sh +++ b/monitoring.sh @@ -1,6 +1,6 @@ package: Monitoring version: "%(tag_basename)s" -tag: v3.17.5 +tag: v3.18.0 requires: - boost - "GCC-Toolchain:(?!osx)" From 7c78f4a2536c2fe13fc5146a9759bd9c7a32f785 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:22:13 +0100 Subject: [PATCH 087/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..e7d725c42a 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From d4a56ebd51011f05e4b298ed578488f091f8c622 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 27 Nov 2023 12:52:00 +0100 Subject: [PATCH 088/172] Bump Pythia8 to support C++20 --- defaults-generators.sh | 2 +- defaults-o2-epn.sh | 2 +- defaults-o2.sh | 2 +- pythia.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/defaults-generators.sh b/defaults-generators.sh index dcfa95377c..7be3c3f191 100644 --- a/defaults-generators.sh +++ b/defaults-generators.sh @@ -17,7 +17,7 @@ overrides: version: v3.4.1_1.052-alice2 tag: v3.4.1_1.052-alice2 pythia: - tag: v8304 + tag: v8304-alice1 requires: - lhapdf - boost diff --git a/defaults-o2-epn.sh b/defaults-o2-epn.sh index 9dbd2b3cc8..bf1f889099 100644 --- a/defaults-o2-epn.sh +++ b/defaults-o2-epn.sh @@ -36,7 +36,7 @@ overrides: fastjet: tag: v3.4.0_1.045-alice1 pythia: - tag: v8304 + tag: v8304-alice1 requires: - lhapdf - boost diff --git a/defaults-o2.sh b/defaults-o2.sh index a507690c1c..a21a54d7a7 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -33,7 +33,7 @@ overrides: fastjet: tag: v3.4.1_1.052-alice2 pythia: - tag: v8304 + tag: v8304-alice1 requires: - lhapdf - boost diff --git a/pythia.sh b/pythia.sh index 0e6695e4df..c6cd0f43bd 100644 --- a/pythia.sh +++ b/pythia.sh @@ -1,6 +1,6 @@ package: pythia version: "%(tag_basename)s" -tag: v8243-alice1a +tag: v8243-alice1b source: https://github.com/alisw/pythia8 requires: - lhapdf From 7953d9dd163dfd921a94524b30f27c6181d21f6c Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 27 Nov 2023 12:52:00 +0100 Subject: [PATCH 089/172] Bump to monitoring 3.18.0 Required for C++20 --- monitoring.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.sh b/monitoring.sh index 9717869510..9782d72e3c 100644 --- a/monitoring.sh +++ b/monitoring.sh @@ -1,6 +1,6 @@ package: Monitoring version: "%(tag_basename)s" -tag: v3.17.5 +tag: v3.18.0 requires: - boost - "GCC-Toolchain:(?!osx)" From 66a09b98d7e33f128398498c309776b7e802dd89 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 27 Nov 2023 12:52:00 +0100 Subject: [PATCH 090/172] Move everything to C++20 --- defaults-o2.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2.sh b/defaults-o2.sh index a21a54d7a7..b8d39b92ad 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 68fa6158ea9f6ebd9f571e5e864b1a038a0a5d21 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:09:14 +0100 Subject: [PATCH 091/172] Bump to monitoring 3.18.0 Required for C++20 --- monitoring.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.sh b/monitoring.sh index 9717869510..9782d72e3c 100644 --- a/monitoring.sh +++ b/monitoring.sh @@ -1,6 +1,6 @@ package: Monitoring version: "%(tag_basename)s" -tag: v3.17.5 +tag: v3.18.0 requires: - boost - "GCC-Toolchain:(?!osx)" From 69eb44e7fb2511290fc88829ab0f42dbebe47aa2 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:09:14 +0100 Subject: [PATCH 092/172] Move everything to C++20 --- defaults-o2-dataflow.sh | 4 ++-- defaults-o2-epn.sh | 4 ++-- defaults-o2.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/defaults-o2-dataflow.sh b/defaults-o2-dataflow.sh index 11df6b9abf..7b5090bd38 100644 --- a/defaults-o2-dataflow.sh +++ b/defaults-o2-dataflow.sh @@ -2,9 +2,9 @@ package: defaults-o2-dataflow version: v1 env: CFLAGS: "-fPIC -O2" - CXXFLAGS: "-fPIC -O2 -std=c++17" + CXXFLAGS: "-fPIC -O2 -std=c++20" CMAKE_BUILD_TYPE: "RELWITHDEBINFO" - CXXSTD: "17" + CXXSTD: "20" ENABLE_VMC: 'ON' MACOSX_DEPLOYMENT_TARGET: '10.15' disable: diff --git a/defaults-o2-epn.sh b/defaults-o2-epn.sh index bf1f889099..a02ee983b6 100644 --- a/defaults-o2-epn.sh +++ b/defaults-o2-epn.sh @@ -3,9 +3,9 @@ version: v1 env: CFLAGS: -fPIC -O3 -march=znver2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++17 + CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++20 O2_CXXFLAGS_OVERRIDE: -O3 - CXXSTD: '17' + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' disable: diff --git a/defaults-o2.sh b/defaults-o2.sh index a21a54d7a7..b8d39b92ad 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 362686371aeb7f3c1c734847307360e235978a76 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 30 Nov 2023 10:01:10 +0100 Subject: [PATCH 093/172] Bump to monitoring 3.18.1 Required for C++20 --- monitoring.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.sh b/monitoring.sh index 9717869510..cdc04d40b6 100644 --- a/monitoring.sh +++ b/monitoring.sh @@ -1,6 +1,6 @@ package: Monitoring version: "%(tag_basename)s" -tag: v3.17.5 +tag: v3.18.1 requires: - boost - "GCC-Toolchain:(?!osx)" From 7a24c10862b6b21327f98e9b998ee6d1c09273ab Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 30 Nov 2023 10:01:13 +0100 Subject: [PATCH 094/172] Move everything to C++20 --- defaults-o2-dataflow.sh | 4 ++-- defaults-o2-epn.sh | 4 ++-- defaults-o2.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/defaults-o2-dataflow.sh b/defaults-o2-dataflow.sh index 11df6b9abf..7b5090bd38 100644 --- a/defaults-o2-dataflow.sh +++ b/defaults-o2-dataflow.sh @@ -2,9 +2,9 @@ package: defaults-o2-dataflow version: v1 env: CFLAGS: "-fPIC -O2" - CXXFLAGS: "-fPIC -O2 -std=c++17" + CXXFLAGS: "-fPIC -O2 -std=c++20" CMAKE_BUILD_TYPE: "RELWITHDEBINFO" - CXXSTD: "17" + CXXSTD: "20" ENABLE_VMC: 'ON' MACOSX_DEPLOYMENT_TARGET: '10.15' disable: diff --git a/defaults-o2-epn.sh b/defaults-o2-epn.sh index bf1f889099..a02ee983b6 100644 --- a/defaults-o2-epn.sh +++ b/defaults-o2-epn.sh @@ -3,9 +3,9 @@ version: v1 env: CFLAGS: -fPIC -O3 -march=znver2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++17 + CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++20 O2_CXXFLAGS_OVERRIDE: -O3 - CXXSTD: '17' + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' disable: diff --git a/defaults-o2.sh b/defaults-o2.sh index a21a54d7a7..b8d39b92ad 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 241e8aa94ff8850bb772c3ce166323e2f0404b7c Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 10:48:32 +0100 Subject: [PATCH 095/172] Make sure fmt builds with ninja --- fmt.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fmt.sh b/fmt.sh index 4793c94e7c..13c1e350ed 100644 --- a/fmt.sh +++ b/fmt.sh @@ -7,14 +7,14 @@ requires: build_requires: - CMake - alibuild-recipe-tools + - ninja prepend_path: ROOT_INCLUDE_PATH: "$FMT_ROOT/include" --- #!/bin/bash -e -cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON +cmake $SOURCEDIR -GNinja -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DFMT_TEST=OFF -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SHARED_LIBS=ON -make ${JOBS+-j $JOBS} -make install +cmake --build . --target install # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" From e2885479152989ba3cec2b415e3f6aba65a12c17 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 10:48:32 +0100 Subject: [PATCH 096/172] Use Ninja generator for ROOT --- root.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.sh b/root.sh index 1964f17c87..9c81792d3e 100644 --- a/root.sh +++ b/root.sh @@ -24,6 +24,7 @@ build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools + - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: @@ -126,6 +127,7 @@ else fi unset DYLD_LIBRARY_PATH +CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} # Standard ROOT build cmake $SOURCEDIR \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ From ec81d784708e098559941d7477ac9c69b852857d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 10:48:32 +0100 Subject: [PATCH 097/172] Allow FairRoot to digest newer ROOT --- fairroot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fairroot.sh b/fairroot.sh index ab43e35a54..4253d7f671 100644 --- a/fairroot.sh +++ b/fairroot.sh @@ -1,5 +1,5 @@ package: FairRoot -version: "v18.4.9-alice2" +version: "v18.4.9-alice3" source: https://github.com/alisw/FairRoot requires: - generators From 48963d108ac4e04dc01795bc82058226a99598c1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 10:48:32 +0100 Subject: [PATCH 098/172] Disable VDT and krb5 check on M1 mac --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 9c81792d3e..1b25004c93 100644 --- a/root.sh +++ b/root.sh @@ -178,6 +178,7 @@ cmake $SOURCEDIR -Dtmva-sofie=ON \ -Ddavix=OFF \ ${USE_BUILTIN_GLEW:+-Dbuiltin_glew=ON} \ + -Dvdt=OFF \ ${DISABLE_MYSQL:+-Dmysql=OFF} \ ${ROOT_HAS_PYTHON:+-DPYTHON_PREFER_VERSION=3} \ ${PYTHON_EXECUTABLE:+-DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}"} \ From 8dc0ae38944690a943c0a22473124f797c198267 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 10:49:16 +0100 Subject: [PATCH 099/172] Make sure VDT is picked up by ROOT dependencies --- geant3.sh | 7 +++++++ geant4_vmc.sh | 6 ++++++ vgm.sh | 6 ++++++ vmc.sh | 17 +++++++---------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/geant3.sh b/geant3.sh index 6e00471117..c613039fa1 100644 --- a/geant3.sh +++ b/geant3.sh @@ -19,9 +19,16 @@ if [ $FVERSION -ge 10 ]; then echo "Fortran version $FVERSION" SPECIALFFLAGS=1 fi +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac + cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DCMAKE_SKIP_RPATH=TRUE \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/geant4_vmc.sh b/geant4_vmc.sh index cfe925cec3..c30b9bbe65 100644 --- a/geant4_vmc.sh +++ b/geant4_vmc.sh @@ -17,12 +17,18 @@ env: G4VMCINSTALL: "$GEANT4_VMC_ROOT" --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac LDFLAGS="$LDFLAGS -L$GEANT4_ROOT/lib" \ cmake "$SOURCEDIR" \ -GNinja \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DGeant4VMC_USE_VGM=ON \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ -DGeant4VMC_BUILD_EXAMPLES=OFF \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} diff --git a/vgm.sh b/vgm.sh index b0bab728e9..dd28f70a61 100644 --- a/vgm.sh +++ b/vgm.sh @@ -9,10 +9,16 @@ build_requires: - CMake --- #!/bin/bash -e +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} make ${JOBS+-j $JOBS} install diff --git a/vmc.sh b/vmc.sh index 7d85426123..ec72b20643 100644 --- a/vmc.sh +++ b/vmc.sh @@ -20,25 +20,22 @@ mkdir -p "$MODULEDIR" alibuild-generate-module > $MODULEFILE [ "0$ENABLE_VMC" == "0" ] && exit 0 || true +case $ARCHITECTURE in + osx*) SONAME=dylib ;; + *) SONAME=so ;; +esac cmake "$SOURCEDIR" \ -DCMAKE_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_INSTALL_LIBDIR=lib \ + -DVDT_INCLUDE_DIR="$ROOT_ROOT/include" \ + -DVDT_LIBRARY="$ROOT_ROOT/lib/libvdt.$SONAME" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} cmake --build . -- ${JOBS:+-j$JOBS} install -# Make backward compatible in case a depending (older) package still needs libVMC.so -cd $INSTALLROOT/lib -case $ARCHITECTURE in - osx*) - ln -s libVMCLibrary.dylib libVMC.dylib - ;; - *) - ln -s libVMCLibrary.so libVMC.so - ;; -esac +ln -s libVMCLibrary.$SONAME $INSTALLROOT/lib/libVMC.$SONAME # update modulefile cat >> "$MODULEFILE" < Date: Wed, 6 Dec 2023 10:48:57 +0100 Subject: [PATCH 100/172] Bump ROOT to v6.28.8-alice1 --- root.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root.sh b/root.sh index 1b25004c93..5ee00ad746 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-28-08-alice1" source: https://github.com/alisw/root.git requires: - arrow From 9d3aee8c8cb86e82223ef6f51d3744882f109d77 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 11:13:23 +0100 Subject: [PATCH 101/172] Disable VDT --- root.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index 9c81792d3e..d9123482e4 100644 --- a/root.sh +++ b/root.sh @@ -168,8 +168,8 @@ cmake $SOURCEDIR -Droot7=OFF \ -Dsoversion=ON \ -Dshadowpw=OFF \ - -Dvdt=ON \ - -Dbuiltin_vdt=ON \ + -Dvdt=OFF \ + -Dbuiltin_vdt=OFF \ ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ From 5abf590d690f363e48c7a1b9423841b1b601558b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 6 Dec 2023 11:12:54 +0100 Subject: [PATCH 102/172] Bump ROOT to v6.28.8-alice1 --- root.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root.sh b/root.sh index d9123482e4..11fcc77e96 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-04-alice3" +tag: "v6-28-08-alice1" source: https://github.com/alisw/root.git requires: - arrow From fa00ac1f5bd32f2c8bf6bddb09d0b6da86ba475d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:17:42 +0100 Subject: [PATCH 103/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 11fcc77e96..508a93194b 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From c0f524724762d8d7f49090e47074d4a3067e82b3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:17:42 +0100 Subject: [PATCH 104/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 508a93194b..17623bd119 100644 --- a/root.sh +++ b/root.sh @@ -171,7 +171,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=OFF \ -Dbuiltin_vdt=OFF \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From dd82d59a3511ce3ced7facc7a93c6888c3c0ce5d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:17:42 +0100 Subject: [PATCH 105/172] Better openssl support in root --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 17623bd119..b1a127165e 100644 --- a/root.sh +++ b/root.sh @@ -153,6 +153,7 @@ cmake $SOURCEDIR ${GCC_TOOLCHAIN_REVISION:+-DCMAKE_EXE_LINKER_FLAGS="-L$GCC_TOOLCHAIN_ROOT/lib64"} \ ${OPENSSL_ROOT:+-DOPENSSL_ROOT=$OPENSSL_ROOT} \ ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIR=$OPENSSL_ROOT/include} \ + ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ ${LIBXML2_ROOT:+-DLIBXML2_ROOT=$LIBXML2_ROOT} \ ${GSL_ROOT:+-DGSL_DIR=$GSL_ROOT} \ ${LIBPNG_ROOT:+-DPNG_INCLUDE_DIRS="${LIBPNG_ROOT}/include"} \ From cea463d75a2d6483a95bcbb6a03bc9da719db194 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:20:47 +0100 Subject: [PATCH 106/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index b1a127165e..bc947ca486 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-08-alice1" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -53,6 +53,7 @@ incremental_recipe: | # understand yaml. cat >/dev/null < Date: Fri, 8 Dec 2023 10:20:41 +0100 Subject: [PATCH 107/172] Drop dependency on Alien-Runtime in freetype --- freetype.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freetype.sh b/freetype.sh index 8f1fc1c9b8..5b4dad48b9 100644 --- a/freetype.sh +++ b/freetype.sh @@ -3,7 +3,7 @@ version: v2.10.1 tag: VER-2-10-1 source: https://github.com/freetype/freetype requires: - - AliEn-Runtime:(?!.*ppc64) + - zlib build_requires: - "autotools:(slc6|slc7)" - alibuild-recipe-tools From 79c0907b8eeecebdec3a1c3d186ece9b70e10e52 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:20:47 +0100 Subject: [PATCH 108/172] Bump ROOT to v6.30.01-alice1 --- root.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index b1a127165e..b81901b5cb 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-08-alice1" +tag: "v6-30-01-alice1" source: https://github.com/alisw/root.git requires: - arrow @@ -53,6 +53,7 @@ incremental_recipe: | # understand yaml. cat >/dev/null < Date: Tue, 12 Dec 2023 11:40:06 +0100 Subject: [PATCH 109/172] Adapt Pythia6 support in ROOT This should work for both v6.28.4 and v6.30.01 --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 11fcc77e96..508a93194b 100644 --- a/root.sh +++ b/root.sh @@ -162,6 +162,7 @@ cmake $SOURCEDIR -Dfftw3=ON \ -Dpgsql=OFF \ -Dminuit2=ON \ + -Dpythia6=ON \ -Dpythia6_nolink=ON \ -Droofit=ON \ -Dhttp=ON \ From c4c66bd73033bc732cec672bdc87cf01e4c0b05a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 12 Dec 2023 11:40:06 +0100 Subject: [PATCH 110/172] Disable removed Monalisa support --- root.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/root.sh b/root.sh index 508a93194b..17623bd119 100644 --- a/root.sh +++ b/root.sh @@ -171,7 +171,6 @@ cmake $SOURCEDIR -Dshadowpw=OFF \ -Dvdt=OFF \ -Dbuiltin_vdt=OFF \ - ${ALIEN_RUNTIME_REVISION:+-Dmonalisa=ON} \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ From 84ed53b1fdd69aad0d18e4f8ce3bc2a5c571ef3b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 12 Dec 2023 11:40:06 +0100 Subject: [PATCH 111/172] Better openssl support in root --- root.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/root.sh b/root.sh index 17623bd119..b1a127165e 100644 --- a/root.sh +++ b/root.sh @@ -153,6 +153,7 @@ cmake $SOURCEDIR ${GCC_TOOLCHAIN_REVISION:+-DCMAKE_EXE_LINKER_FLAGS="-L$GCC_TOOLCHAIN_ROOT/lib64"} \ ${OPENSSL_ROOT:+-DOPENSSL_ROOT=$OPENSSL_ROOT} \ ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIR=$OPENSSL_ROOT/include} \ + ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ ${LIBXML2_ROOT:+-DLIBXML2_ROOT=$LIBXML2_ROOT} \ ${GSL_ROOT:+-DGSL_DIR=$GSL_ROOT} \ ${LIBPNG_ROOT:+-DPNG_INCLUDE_DIRS="${LIBPNG_ROOT}/include"} \ From b6ca5b788f4ab6aa3efbc95c90dafa4cbde56c0a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 12 Dec 2023 11:40:06 +0100 Subject: [PATCH 112/172] Drop dependency on Alien-Runtime in freetype --- freetype.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freetype.sh b/freetype.sh index 8f1fc1c9b8..5b4dad48b9 100644 --- a/freetype.sh +++ b/freetype.sh @@ -3,7 +3,7 @@ version: v2.10.1 tag: VER-2-10-1 source: https://github.com/freetype/freetype requires: - - AliEn-Runtime:(?!.*ppc64) + - zlib build_requires: - "autotools:(slc6|slc7)" - alibuild-recipe-tools From a47b90c67a88aea8121088ea7d880e0c202cb2b1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 12 Dec 2023 11:40:06 +0100 Subject: [PATCH 113/172] Bump ROOT to v6.30.01-alice2 --- root.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index b1a127165e..8aea0ba6c4 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-28-08-alice1" +tag: "v6-30-01-alice2" source: https://github.com/alisw/root.git requires: - arrow @@ -53,6 +53,7 @@ incremental_recipe: | # understand yaml. cat >/dev/null < Date: Fri, 15 Dec 2023 09:08:39 +0100 Subject: [PATCH 114/172] Strip libonnxruntime by default From: -rwxr-xr-x 1 root root 602M Nov 23 02:08 libonnxruntime.so.1.12.1 to: -rwxr-xr-x 1 root root 12M Dec 15 09:07 libonnxruntime.so.1.12.1 --- fairlogger.sh | 2 +- onnxruntime.sh | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/fairlogger.sh b/fairlogger.sh index 2f1c393954..2e5fa9fb16 100644 --- a/fairlogger.sh +++ b/fairlogger.sh @@ -22,9 +22,9 @@ case $ARCHITECTURE in ;; *) ;; esac - mkdir -p $INSTALLROOT + cmake $SOURCEDIR \ ${CXX_COMPILER:+-DCMAKE_CXX_COMPILER=$CXX_COMPILER} \ ${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE} \ diff --git a/onnxruntime.sh b/onnxruntime.sh index 91ad16812c..459e20e5a0 100644 --- a/onnxruntime.sh +++ b/onnxruntime.sh @@ -27,22 +27,22 @@ popd mkdir -p $INSTALLROOT -cmake "$SOURCEDIR/cmake" \ - -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ - -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \ - -Donnxruntime_BUILD_UNIT_TESTS=OFF \ - -Donnxruntime_PREFER_SYSTEM_LIB=ON \ - -Donnxruntime_BUILD_SHARED_LIB=ON \ - -DProtobuf_USE_STATIC_LIBS=ON \ - ${PROTOBUF_ROOT:+-DProtobuf_LIBRARY=$PROTOBUF_ROOT/lib/libprotobuf.a} \ +cmake "$SOURCEDIR/cmake" \ + -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \ + -Donnxruntime_BUILD_UNIT_TESTS=OFF \ + -Donnxruntime_PREFER_SYSTEM_LIB=ON \ + -Donnxruntime_BUILD_SHARED_LIB=ON \ + -DProtobuf_USE_STATIC_LIBS=ON \ + ${PROTOBUF_ROOT:+-DProtobuf_LIBRARY=$PROTOBUF_ROOT/lib/libprotobuf.a} \ ${PROTOBUF_ROOT:+-DProtobuf_LITE_LIBRARY=$PROTOBUF_ROOT/lib/libprotobuf-lite.a} \ - ${PROTOBUF_ROOT:+-DProtobuf_PROTOC_LIBRARY=$PROTOBUF_ROOT/lib/libprotoc.a} \ - ${PROTOBUF_ROOT:+-DProtobuf_INCLUDE_DIR=$PROTOBUF_ROOT/include} \ - ${PROTOBUF_ROOT:+-DProtobuf_PROTOC_EXECUTABLE=$PROTOBUF_ROOT/bin/protoc} \ - ${RE2_ROOT:+-DRE2_INCLUDE_DIR=${RE2_ROOT}/include} \ - ${FLATBUFFERS_ROOT:+-DFLATBUFFERS_INCLUDE_DIR=${FLATBUFFERS_ROOT}/include} \ + ${PROTOBUF_ROOT:+-DProtobuf_PROTOC_LIBRARY=$PROTOBUF_ROOT/lib/libprotoc.a} \ + ${PROTOBUF_ROOT:+-DProtobuf_INCLUDE_DIR=$PROTOBUF_ROOT/include} \ + ${PROTOBUF_ROOT:+-DProtobuf_PROTOC_EXECUTABLE=$PROTOBUF_ROOT/bin/protoc} \ + ${RE2_ROOT:+-DRE2_INCLUDE_DIR=${RE2_ROOT}/include} \ + ${FLATBUFFERS_ROOT:+-DFLATBUFFERS_INCLUDE_DIR=${FLATBUFFERS_ROOT}/include} \ ${BOOST_ROOT:+-DBOOST_INCLUDE_DIR=${BOOST_ROOT}/include} cmake --build . -- ${JOBS:+-j$JOBS} install From 45686f5562f52c3cb0f071f9d056aeed74f064e0 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:57:49 +0100 Subject: [PATCH 115/172] Enable Python support again The folder for llvm moved in ROOT v6.30.XX and therefore aliBuild things we are dealing with ROOT5. Dropping support for ROOT5 should bring back the PyROOT support. --- root.sh | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/root.sh b/root.sh index 8aea0ba6c4..b8d3a354d0 100644 --- a/root.sh +++ b/root.sh @@ -93,29 +93,23 @@ if [[ $ALIEN_RUNTIME_VERSION ]]; then fi [[ $SYS_OPENSSL_ROOT ]] && OPENSSL_ROOT=$SYS_OPENSSL_ROOT -if [[ -d $SOURCEDIR/interpreter/llvm ]]; then - # ROOT 6+: enable Python - ROOT_PYTHON_FLAGS="-Dpyroot=ON" - ROOT_HAS_PYTHON=1 - python_exec=$(python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_var("exec_prefix"))')/bin/python3 - if [ "$python_exec" = "$(which python3)" ]; then - # By default, if there's nothing funny going on, let ROOT pick the Python in - # the PATH, which is the one built by us (unless disabled, in which case it - # is the system one). This is substituted into ROOT's Python scripts' - # shebang lines, so we cannot use an absolute path because the path to our - # Python will differ between build time and runtime, e.g. on the Grid. - PYTHON_EXECUTABLE= - else - # If Python's exec_prefix doesn't point to the same place as $PATH, then we - # have a shim script in between. This is used by things like pyenv and asdf. - # This doesn't happen when building things to be published, only in local - # usage, so hardcoding an absolute path into the shebangs is fine. - PYTHON_EXECUTABLE=$python_exec - fi +# ROOT 6+: enable Python +ROOT_PYTHON_FLAGS="-Dpyroot=ON" +ROOT_HAS_PYTHON=1 +python_exec=$(python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_var("exec_prefix"))')/bin/python3 +if [ "$python_exec" = "$(which python3)" ]; then + # By default, if there's nothing funny going on, let ROOT pick the Python in + # the PATH, which is the one built by us (unless disabled, in which case it + # is the system one). This is substituted into ROOT's Python scripts' + # shebang lines, so we cannot use an absolute path because the path to our + # Python will differ between build time and runtime, e.g. on the Grid. + PYTHON_EXECUTABLE= else - # Non-ROOT 6 builds: disable Python - ROOT_PYTHON_FLAGS="-Dpython=OFF -Dpyroot=OFF" - ROOT_HAS_NO_PYTHON=1 + # If Python's exec_prefix doesn't point to the same place as $PATH, then we + # have a shim script in between. This is used by things like pyenv and asdf. + # This doesn't happen when building things to be published, only in local + # usage, so hardcoding an absolute path into the shebangs is fine. + PYTHON_EXECUTABLE=$python_exec fi if [ -n "$XROOTD_ROOT" ]; then From 904194b43c4d8768942a35fdff3e69da67e4ddcc Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:56:33 +0100 Subject: [PATCH 116/172] Bump XRootD to v5.6.4 Apparently needed by bleading edge ROOT. --- xrootd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xrootd.sh b/xrootd.sh index 591d839352..2724c474d2 100644 --- a/xrootd.sh +++ b/xrootd.sh @@ -1,6 +1,6 @@ package: XRootD version: "%(tag_basename)s" -tag: "v5.6.0" +tag: "v5.6.4" source: https://github.com/xrootd/xrootd requires: - "OpenSSL:(?!osx)" From cce11059b743805e78c32201334f3c3e704f43fc Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:24:30 +0100 Subject: [PATCH 117/172] Move everything to C++20 --- defaults-o2-dataflow.sh | 4 ++-- defaults-o2-epn.sh | 4 ++-- defaults-o2.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/defaults-o2-dataflow.sh b/defaults-o2-dataflow.sh index 11df6b9abf..7b5090bd38 100644 --- a/defaults-o2-dataflow.sh +++ b/defaults-o2-dataflow.sh @@ -2,9 +2,9 @@ package: defaults-o2-dataflow version: v1 env: CFLAGS: "-fPIC -O2" - CXXFLAGS: "-fPIC -O2 -std=c++17" + CXXFLAGS: "-fPIC -O2 -std=c++20" CMAKE_BUILD_TYPE: "RELWITHDEBINFO" - CXXSTD: "17" + CXXSTD: "20" ENABLE_VMC: 'ON' MACOSX_DEPLOYMENT_TARGET: '10.15' disable: diff --git a/defaults-o2-epn.sh b/defaults-o2-epn.sh index bf1f889099..a02ee983b6 100644 --- a/defaults-o2-epn.sh +++ b/defaults-o2-epn.sh @@ -3,9 +3,9 @@ version: v1 env: CFLAGS: -fPIC -O3 -march=znver2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++17 + CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++20 O2_CXXFLAGS_OVERRIDE: -O3 - CXXSTD: '17' + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' disable: diff --git a/defaults-o2.sh b/defaults-o2.sh index a21a54d7a7..b8d39b92ad 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 70eb40c1ad3b21cb1f8b79b556868edaf4059147 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:24:30 +0100 Subject: [PATCH 118/172] Move to ROOT master to check https://github.com/root-project/root/issues/14230 --- root.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/root.sh b/root.sh index 7a7c7b44c5..7c5cccc55e 100644 --- a/root.sh +++ b/root.sh @@ -1,7 +1,7 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-30-01-alice2" -source: https://github.com/alisw/root.git +tag: "master" +source: https://github.com/root-project/root.git requires: - arrow - AliEn-Runtime:(?!.*ppc64) From b6ddf7b543958021dfb6cb0560689bfb5f20ef31 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 25 Jan 2024 14:06:14 +0100 Subject: [PATCH 119/172] Move everything to C++20 --- defaults-o2-dataflow.sh | 4 ++-- defaults-o2-epn.sh | 4 ++-- defaults-o2.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/defaults-o2-dataflow.sh b/defaults-o2-dataflow.sh index 11df6b9abf..7b5090bd38 100644 --- a/defaults-o2-dataflow.sh +++ b/defaults-o2-dataflow.sh @@ -2,9 +2,9 @@ package: defaults-o2-dataflow version: v1 env: CFLAGS: "-fPIC -O2" - CXXFLAGS: "-fPIC -O2 -std=c++17" + CXXFLAGS: "-fPIC -O2 -std=c++20" CMAKE_BUILD_TYPE: "RELWITHDEBINFO" - CXXSTD: "17" + CXXSTD: "20" ENABLE_VMC: 'ON' MACOSX_DEPLOYMENT_TARGET: '10.15' disable: diff --git a/defaults-o2-epn.sh b/defaults-o2-epn.sh index bf1f889099..a02ee983b6 100644 --- a/defaults-o2-epn.sh +++ b/defaults-o2-epn.sh @@ -3,9 +3,9 @@ version: v1 env: CFLAGS: -fPIC -O3 -march=znver2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++17 + CXXFLAGS: -fPIC -O3 -march=znver2 -std=c++20 O2_CXXFLAGS_OVERRIDE: -O3 - CXXSTD: '17' + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' disable: diff --git a/defaults-o2.sh b/defaults-o2.sh index a21a54d7a7..b8d39b92ad 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -3,8 +3,8 @@ version: v1 env: CFLAGS: -fPIC -O2 CMAKE_BUILD_TYPE: RELWITHDEBINFO - CXXFLAGS: -fPIC -O2 -std=c++17 - CXXSTD: '17' + CXXFLAGS: -fPIC -O2 -std=c++20 + CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' MACOSX_DEPLOYMENT_TARGET: '10.15' From 362b8b71c080bbd65b20061b74475039f9ab3765 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 2 Feb 2024 15:45:41 +0100 Subject: [PATCH 120/172] Do not check for member names Somehow this check was not fully working before and it's now complaining about actual violation. It is deemed however too complicated to fix them at this point in time. --- o2checkcode.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/o2checkcode.sh b/o2checkcode.sh index 8e43ea2c8e..8801e51f65 100644 --- a/o2checkcode.sh +++ b/o2checkcode.sh @@ -44,7 +44,6 @@ cp thinned_compile_commands.json compile_commands.json # List of explicitely enabled C++ checks (make sure they are all green) CHECKS="${O2_CHECKER_CHECKS:--*\ -,aliceO2-member-name\ ,aliceO2-namespace-naming\ ,modernize-avoid-bind\ ,modernize-deprecated-headers\ From d4096618b7a28780afef13339dfbfc2c92bb0583 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 11 Mar 2024 09:48:52 +0100 Subject: [PATCH 121/172] Get ROOT to compile with new macOS / XCode Notice you will need both macOS 14.4 and XCode 15.3. --- root.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root.sh b/root.sh index e0a00e1fcf..584757c3fe 100644 --- a/root.sh +++ b/root.sh @@ -1,6 +1,6 @@ package: ROOT version: "%(tag_basename)s" -tag: "v6-30-01-alice3" +tag: "v6-30-01-alice4" source: https://github.com/alisw/root.git requires: - arrow From 14518493513f18448c8f6053b1acbcf77278ea5e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 22 Mar 2024 12:04:07 +0100 Subject: [PATCH 122/172] Fix CGAL rpath --- cgal.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cgal.sh b/cgal.sh index 13d0758e98..e5e23aca34 100644 --- a/cgal.sh +++ b/cgal.sh @@ -35,7 +35,6 @@ export GMP_INC_DIR="${GMP_ROOT}/include" cmake . \ -DCMAKE_INSTALL_PREFIX:PATH="${INSTALLROOT}" \ -DCMAKE_INSTALL_LIBDIR:PATH="lib" \ - -DCMAKE_SKIP_RPATH:BOOL=YES \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_BLAS:BOOL=OFF \ -DWITH_CGAL_Core:BOOL=ON \ @@ -71,6 +70,10 @@ cmake . \ make VERBOSE=1 ${JOBS:+-j$JOBS} make install VERBOSE=1 +find $INSTALLROOT/lib/ -name "*.dylib" -exec install_name_tool -add_rpath @loader_path/../lib {} \; +find $INSTALLROOT/lib/ -name "*.dylib" -exec install_name_tool -add_rpath ${INSTALLROOT}/lib {} \; +find $INSTALLROOT/lib/ -name "*.dylib" -exec install_name_tool -id {} {} \; + # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" From 4350f42c590c39a67b11cf7e1b91e6b67016aaa5 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:44:55 +0100 Subject: [PATCH 123/172] Workaround issue with CMake 3.29.0 --- root.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/root.sh b/root.sh index 584757c3fe..b86c320e96 100644 --- a/root.sh +++ b/root.sh @@ -182,6 +182,9 @@ cmake $SOURCEDIR ${PYTHON_EXECUTABLE:+-DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}"} \ -DCMAKE_PREFIX_PATH="$FREETYPE_ROOT;$SYS_OPENSSL_ROOT;$GSL_ROOT;$ALIEN_RUNTIME_ROOT;$PYTHON_ROOT;$PYTHON_MODULES_ROOT;$LIBPNG_ROOT;$LZMA_ROOT;$PROTOBUF_ROOT;$FFTW3_ROOT" +# Workaround issue with cmake 3.29.0 +sed -i.removeme '/deps = gcc/d' build.ninja +rm *.removeme cmake --build . --target install ${JOBS+-j $JOBS} # Make sure ROOT actually found its build dependencies and didn't disable From 672e6cba367baafe5e1364928c04d555d1cb4048 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:47:07 +0100 Subject: [PATCH 124/172] Workaround issue with CMake 3.29.0 --- root.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/root.sh b/root.sh index 584757c3fe..b86c320e96 100644 --- a/root.sh +++ b/root.sh @@ -182,6 +182,9 @@ cmake $SOURCEDIR ${PYTHON_EXECUTABLE:+-DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}"} \ -DCMAKE_PREFIX_PATH="$FREETYPE_ROOT;$SYS_OPENSSL_ROOT;$GSL_ROOT;$ALIEN_RUNTIME_ROOT;$PYTHON_ROOT;$PYTHON_MODULES_ROOT;$LIBPNG_ROOT;$LZMA_ROOT;$PROTOBUF_ROOT;$FFTW3_ROOT" +# Workaround issue with cmake 3.29.0 +sed -i.removeme '/deps = gcc/d' build.ninja +rm *.removeme cmake --build . --target install ${JOBS+-j $JOBS} # Make sure ROOT actually found its build dependencies and didn't disable From c87b35383fbeaa2f04480c7e91a1703df4e6d047 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:47:07 +0100 Subject: [PATCH 125/172] Allow working with a new python --- python-modules.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-modules.sh b/python-modules.sh index 2dc393192a..d264ffa554 100644 --- a/python-modules.sh +++ b/python-modules.sh @@ -24,7 +24,7 @@ unset VIRTUAL_ENV # NOTE: If you get an error saying "Error: This build of python cannot create # venvs without using symlinks", then you are using the MacOS Python. You # should be using the Homebrew Python instead, so run "brew install python". -python3 -m venv --copies "$INSTALLROOT" +python3 -m venv "$INSTALLROOT" . "$INSTALLROOT/bin/activate" # From now on, we use the python3 binary copied into the venv. This makes pip # install packages into the venv. @@ -46,7 +46,7 @@ find "$INSTALLROOT" -mindepth 2 -maxdepth 2 \ # Fix shebangs: remove hardcoded Python path. Scripts' shebangs will point at # the venv's python using an absolute path by default, which we must change. -sed -r -i.deleteme -e "1s,^#!$INSTALLROOT/bin/,#!/usr/bin/env ," "$INSTALLROOT"/bin/* +find "$INSTALLROOT"/bin -type f -exec sed -r -i.deleteme -e "1s,^#!$INSTALLROOT/bin/,#!/usr/bin/env ," {} \; rm -f "$INSTALLROOT"/bin/*.deleteme # Link python -> python$pyver, so we can refer to it in PYTHONPATH without knowing pyver. From f357d589a1b1cad1758e2090a6d00ad1aa757480 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 28 Mar 2024 09:02:58 +0100 Subject: [PATCH 126/172] Add extra variable to reduce CCDB timeout --- o2-full-system-test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/o2-full-system-test.sh b/o2-full-system-test.sh index ba5229cc54..cd0ff431f7 100644 --- a/o2-full-system-test.sh +++ b/o2-full-system-test.sh @@ -28,6 +28,7 @@ export DPL_REPORT_PROCESSING=1 export XRD_CONNECTIONWINDOW=3 export XRD_CONNECTIONRETRY=1 export XRD_TIMEOUTRESOLUTION=1 +export XRD_REQUESTTIMEOUT="60" WORKFLOW_EXTRA_PROCESSING_STEPS=TPC_DEDX,MFT_RECO,MID_RECO,MCH_RECO,MATCH_MFTMCH,MATCH_MCHMID,MUON_SYNC_RECO,ZDC_RECO FST_SYNC_EXTRA_WORKFLOW_PARAMETERS=QC,CALIB_LOCAL_AGGREGATOR,CALIB_LOCAL_INTEGRATED_AGGREGATOR QC_REDIRECT_MERGER_TO_LOCALHOST=1 GEN_TOPO_WORKDIR=`pwd` ALICE_O2SIM_DUMPLOG=1 NEvents=5 NEventsQED=100 O2SIMSEED=12345 $O2_ROOT/prodtests/full_system_test.sh $O2_ROOT/prodtests/full_system_test_ci_extra_tests.sh From f93e82463db5077bc6fe387af208af1e0ab73235 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 28 Mar 2024 09:04:17 +0100 Subject: [PATCH 127/172] Add extra variable to reduce CCDB timeout --- o2-full-system-test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/o2-full-system-test.sh b/o2-full-system-test.sh index ba5229cc54..8b9faf50ae 100644 --- a/o2-full-system-test.sh +++ b/o2-full-system-test.sh @@ -28,6 +28,7 @@ export DPL_REPORT_PROCESSING=1 export XRD_CONNECTIONWINDOW=3 export XRD_CONNECTIONRETRY=1 export XRD_TIMEOUTRESOLUTION=1 +export XRD_REQUESTTIMEOUT=60 WORKFLOW_EXTRA_PROCESSING_STEPS=TPC_DEDX,MFT_RECO,MID_RECO,MCH_RECO,MATCH_MFTMCH,MATCH_MCHMID,MUON_SYNC_RECO,ZDC_RECO FST_SYNC_EXTRA_WORKFLOW_PARAMETERS=QC,CALIB_LOCAL_AGGREGATOR,CALIB_LOCAL_INTEGRATED_AGGREGATOR QC_REDIRECT_MERGER_TO_LOCALHOST=1 GEN_TOPO_WORKDIR=`pwd` ALICE_O2SIM_DUMPLOG=1 NEvents=5 NEventsQED=100 O2SIMSEED=12345 $O2_ROOT/prodtests/full_system_test.sh $O2_ROOT/prodtests/full_system_test_ci_extra_tests.sh From 84a546bcd3fcab0501b4e9d17cc2b477364b205d Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 24 Apr 2024 09:52:10 +0200 Subject: [PATCH 128/172] Modernize JAliEn-ROOT recipe - Avoid custom rsync which prevents local development via aliBuild devel packages. - Use alibuild-recipe-tools to generate modulefile automatically, so that we avoid issues like the libuv one. --- jalien-root.sh | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/jalien-root.sh b/jalien-root.sh index f6a822889c..e589e86758 100644 --- a/jalien-root.sh +++ b/jalien-root.sh @@ -14,6 +14,7 @@ build_requires: - "GCC-Toolchain:(?!osx)" - zlib - Alice-GRID-Utils + - alibuild-recipe-tools append_path: ROOT_PLUGIN_PATH: "$JALIEN_ROOT_ROOT/etc/plugins" ROOT_INCLUDE_PATH: "$JALIEN_ROOT_ROOT/include" @@ -28,43 +29,36 @@ case $ARCHITECTURE in ;; esac -rsync -a --exclude '**/.git' --delete $SOURCEDIR/ $BUILDDIR -rsync -a $ALICE_GRID_UTILS_ROOT/include/ $BUILDDIR/inc +# This is needed to support old version which did not have FindAliceGridUtils.cmake +ALIBUILD_CMAKE_BUILD_DIR=$SOURCEDIR +if [ ! -f $JALIEN_ROOT_ROOT/cmake/modules/FindAliceGridUtils.cmake ]; then + ALIBUILD_CMAKE_BUILD_DIR=$BUILDDIR + rsync -a --exclude '**/.git' --delete $SOURCEDIR/ $BUILDDIR + rsync -a $ALICE_GRID_UTILS_ROOT/include/ $BUILDDIR/inc +fi -cmake $BUILDDIR \ +cmake $ALIBUILD_CMAKE_BUILD_DIR \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=${CXXSTD}} \ -DROOTSYS="$ROOTSYS" \ -DJSONC="$JSON_C_ROOT" \ + -DALICE_GRID_UTILS_ROOT="$ALICE_GRID_UTILS_ROOT" \ ${OPENSSL_ROOT:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT} \ ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ -DZLIB_ROOT="$ZLIB_ROOT" \ -DXROOTD_ROOT_DIR="$XROOTD_ROOT" \ -DLWS="$LIBWEBSOCKETS_ROOT" -make ${JOBS:+-j $JOBS} install +cmake --build . -- ${JOBS:+-j $JOBS} install # Modulefile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME +cat >> etc/modulefiles/$PKGNAME < Date: Wed, 24 Apr 2024 09:55:19 +0200 Subject: [PATCH 129/172] Modernize JAliEn-ROOT recipe - Avoid custom rsync which prevents local development via aliBuild devel packages. - Use alibuild-recipe-tools to generate modulefile automatically, so that we avoid issues like the libuv one. - Move to use ninja rather than make --- jalien-root.sh | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/jalien-root.sh b/jalien-root.sh index f6a822889c..854e141bfa 100644 --- a/jalien-root.sh +++ b/jalien-root.sh @@ -11,9 +11,11 @@ requires: build_requires: - json-c - CMake + - ninja - "GCC-Toolchain:(?!osx)" - zlib - Alice-GRID-Utils + - alibuild-recipe-tools append_path: ROOT_PLUGIN_PATH: "$JALIEN_ROOT_ROOT/etc/plugins" ROOT_INCLUDE_PATH: "$JALIEN_ROOT_ROOT/include" @@ -28,43 +30,36 @@ case $ARCHITECTURE in ;; esac -rsync -a --exclude '**/.git' --delete $SOURCEDIR/ $BUILDDIR -rsync -a $ALICE_GRID_UTILS_ROOT/include/ $BUILDDIR/inc +# This is needed to support old version which did not have FindAliceGridUtils.cmake +ALIBUILD_CMAKE_BUILD_DIR=$SOURCEDIR +if [ ! -f $JALIEN_ROOT_ROOT/cmake/modules/FindAliceGridUtils.cmake ]; then + ALIBUILD_CMAKE_BUILD_DIR=$BUILDDIR + rsync -a --exclude '**/.git' --delete $SOURCEDIR/ $BUILDDIR + rsync -a $ALICE_GRID_UTILS_ROOT/include/ $BUILDDIR/inc +fi -cmake $BUILDDIR \ +cmake $ALIBUILD_CMAKE_BUILD_DIR \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=${CXXSTD}} \ -DROOTSYS="$ROOTSYS" \ -DJSONC="$JSON_C_ROOT" \ + -DALICE_GRID_UTILS_ROOT="$ALICE_GRID_UTILS_ROOT" \ ${OPENSSL_ROOT:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT} \ ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ -DZLIB_ROOT="$ZLIB_ROOT" \ -DXROOTD_ROOT_DIR="$XROOTD_ROOT" \ -DLWS="$LIBWEBSOCKETS_ROOT" -make ${JOBS:+-j $JOBS} install +cmake --build . -- ${JOBS:+-j $JOBS} install # Modulefile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME +cat >> etc/modulefiles/$PKGNAME < Date: Wed, 24 Apr 2024 11:36:31 +0200 Subject: [PATCH 130/172] Modernize JAliEn-ROOT recipe - Avoid custom rsync which prevents local development via aliBuild devel packages. - Use alibuild-recipe-tools to generate modulefile automatically, so that we avoid issues like the libuv one. - Move to use ninja rather than make --- jalien-root.sh | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/jalien-root.sh b/jalien-root.sh index f6a822889c..4ab8e427d7 100644 --- a/jalien-root.sh +++ b/jalien-root.sh @@ -11,9 +11,11 @@ requires: build_requires: - json-c - CMake + - ninja - "GCC-Toolchain:(?!osx)" - zlib - Alice-GRID-Utils + - alibuild-recipe-tools append_path: ROOT_PLUGIN_PATH: "$JALIEN_ROOT_ROOT/etc/plugins" ROOT_INCLUDE_PATH: "$JALIEN_ROOT_ROOT/include" @@ -28,43 +30,36 @@ case $ARCHITECTURE in ;; esac -rsync -a --exclude '**/.git' --delete $SOURCEDIR/ $BUILDDIR -rsync -a $ALICE_GRID_UTILS_ROOT/include/ $BUILDDIR/inc +# This is needed to support old version which did not have FindAliceGridUtils.cmake +ALIBUILD_CMAKE_BUILD_DIR=$SOURCEDIR +if [ ! -f "$JALIEN_ROOT_ROOT/cmake/modules/FindAliceGridUtils.cmake" ]; then + ALIBUILD_CMAKE_BUILD_DIR="$BUILDDIR" + rsync -a --exclude '**/.git' --delete "$SOURCEDIR/" "$BUILDDIR" + rsync -a "$ALICE_GRID_UTILS_ROOT/include/" "$BUILDDIR/inc" +fi -cmake $BUILDDIR \ +cmake "$ALIBUILD_CMAKE_BUILD_DIR" \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ ${CXXSTD:+-DCMAKE_CXX_STANDARD=${CXXSTD}} \ -DROOTSYS="$ROOTSYS" \ -DJSONC="$JSON_C_ROOT" \ + -DALICE_GRID_UTILS_ROOT="$ALICE_GRID_UTILS_ROOT" \ ${OPENSSL_ROOT:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT} \ ${OPENSSL_ROOT:+-DOPENSSL_INCLUDE_DIRS=$OPENSSL_ROOT/include} \ ${OPENSSL_ROOT:+-DOPENSSL_LIBRARIES=$OPENSSL_ROOT/lib/libssl.$SONAME;$OPENSSL_ROOT/lib/libcrypto.$SONAME} \ -DZLIB_ROOT="$ZLIB_ROOT" \ -DXROOTD_ROOT_DIR="$XROOTD_ROOT" \ -DLWS="$LIBWEBSOCKETS_ROOT" -make ${JOBS:+-j $JOBS} install +cmake --build . -- ${JOBS:+-j $JOBS} install # Modulefile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < "etc/modulefiles/$PKGNAME" +cat >> "etc/modulefiles/$PKGNAME" < Date: Tue, 7 May 2024 12:22:08 +0200 Subject: [PATCH 131/172] Bump python to 3.12.3 ALMA 9 on ARM seems to have troubles with it --- python-modules.sh | 3 +++ python.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/python-modules.sh b/python-modules.sh index d264ffa554..4ad56a6602 100644 --- a/python-modules.sh +++ b/python-modules.sh @@ -15,6 +15,9 @@ prepend_path: --- #!/bin/bash -e unset VIRTUAL_ENV +# Attempt at parallelising a few binary packages +export MAKEFLAGS="${JOBS:+-j$JOBS}" +export SKLEARN_BUILD_PARALLEL=${JOBS} # Users might want to install more packages in the same environment. A venv # provides a pip binary that will install packages into the same path. diff --git a/python.sh b/python.sh index 836d1bd840..86ce4b848c 100644 --- a/python.sh +++ b/python.sh @@ -1,6 +1,6 @@ package: Python version: "%(tag_basename)s" -tag: v3.9.16 +tag: v3.12.3 source: https://github.com/python/cpython requires: - AliEn-Runtime:(?!.*ppc64) From b9e8151a7580f351a2664d596db1450d35b8bbe2 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 7 May 2024 12:59:17 +0200 Subject: [PATCH 132/172] Drop tracy from the builds --- debuggui.sh | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/debuggui.sh b/debuggui.sh index 9e8f81a65e..c685d2160c 100644 --- a/debuggui.sh +++ b/debuggui.sh @@ -7,7 +7,6 @@ requires: - FreeType - libuv build_requires: - - capstone - CMake - alibuild-recipe-tools - ninja @@ -42,21 +41,6 @@ case $ARCHITECTURE in ;; esac -# build the tracy profiler -rsync -av $SOURCEDIR/tracy/ tracy/ -pushd tracy/profiler/build/unix - make ${JOBS+-j $JOBS} \ - LIBS="-L$CAPSTONE_ROOT/lib -L$GLFW_ROOT/lib -L$FREETYPE_ROOT/lib -lglfw -lfreetype -lcapstone -lpthread -ldl $EXTRA_LIBS" \ - DEFINES="$DEFINES" \ - TBB=off \ - TRACY_NO_FILESELECTOR=1 \ - INCLUDES="-I$CAPSTONE_ROOT/include/capstone -I$SOURCEDIR/tracy/imgui -I$SOURCEDIR/tracy -I$SOURCEDIR/tracy/profiler/libs/gl3w ${FREETYPE_ROOT:+-I$FREETYPE_ROOT/include/freetype2} -I${GLFW_ROOT:+$GLFW_ROOT/include}" -popd -mkdir -p $INSTALLROOT/{include/tracy,bin} -cp tracy/profiler/build/unix/Tracy-* $INSTALLROOT/bin/tracy-profiler -cp tracy/*.{h,hpp,cpp} $INSTALLROOT/include/tracy -cp -r tracy/{common,client,libbacktrace} $INSTALLROOT/include/tracy/ - cmake $SOURCEDIR \ -DCMAKE_GENERATOR=Ninja \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ From 386b7fa7a3e730e43d830af61f8e57ed5b2cfa12 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 8 May 2024 20:56:11 +0200 Subject: [PATCH 133/172] Do not worry about DataDistribution and ODC on ARM --- o2pdpsuite.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/o2pdpsuite.sh b/o2pdpsuite.sh index 1db1beab2c..48133e39ff 100644 --- a/o2pdpsuite.sh +++ b/o2pdpsuite.sh @@ -6,11 +6,11 @@ requires: # pulled in by O2sim, so they show up in the dependency list on Monalisa. - O2 - O2Physics - - "DataDistribution:(?!osx)" + - "DataDistribution:(?!osx|slc9_aarch64)" - QualityControl - O2DPG - O2sim - - "ODC:(?!osx)" + - "ODC:(?!osx|slc9_aarch64)" valid_defaults: - o2 - o2-dataflow From 7cede5e41ecfc4598a303c1195a8754e424278da Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 17 May 2024 15:02:30 +0200 Subject: [PATCH 134/172] Add action to clean up slc9 builds --- .github/workflows/clean-pr-checks.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/clean-pr-checks.yml b/.github/workflows/clean-pr-checks.yml index 217c23977a..b6e2eadd7d 100644 --- a/.github/workflows/clean-pr-checks.yml +++ b/.github/workflows/clean-pr-checks.yml @@ -26,6 +26,10 @@ name: Clean PR checks description: build/O2/alidist-dataflow-cs8 type: boolean default: true + 'check_build/O2/alidist-slc9-x86': + description: build/O2/alidist-slc9-x86 + type: boolean + default: true 'check_build/O2/alidist-ubuntu2204': description: build/O2/alidist-ubuntu2204 type: boolean From e05e4edfef40f0877f978e1b3f516b068201afb4 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 17 May 2024 15:05:00 +0200 Subject: [PATCH 135/172] Add action to clean up slc9 builds --- .github/workflows/clean-pr-checks.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/clean-pr-checks.yml b/.github/workflows/clean-pr-checks.yml index 217c23977a..b6e2eadd7d 100644 --- a/.github/workflows/clean-pr-checks.yml +++ b/.github/workflows/clean-pr-checks.yml @@ -26,6 +26,10 @@ name: Clean PR checks description: build/O2/alidist-dataflow-cs8 type: boolean default: true + 'check_build/O2/alidist-slc9-x86': + description: build/O2/alidist-slc9-x86 + type: boolean + default: true 'check_build/O2/alidist-ubuntu2204': description: build/O2/alidist-ubuntu2204 type: boolean From 537c6696f30169e8b467bbfd9274b2cec646d9d4 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 17 May 2024 15:10:13 +0200 Subject: [PATCH 136/172] Circumvent limit on the choices Separate cleanup between linux and macOS --- .github/workflows/clean-pr-checks-macos.yml | 39 +++++++++++++++++++++ .github/workflows/clean-pr-checks.yml | 8 ----- 2 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/clean-pr-checks-macos.yml diff --git a/.github/workflows/clean-pr-checks-macos.yml b/.github/workflows/clean-pr-checks-macos.yml new file mode 100644 index 0000000000..c80b7e74c3 --- /dev/null +++ b/.github/workflows/clean-pr-checks-macos.yml @@ -0,0 +1,39 @@ +--- +name: Clean macOS PR checks + +'on': + workflow_dispatch: + inputs: + pr: + description: PR number in this repo to be cleaned + type: string # can't use number here + required: true + + # Warning: GitHub limits the total number of inputs to 10, so a maximum of + # 9 checks is allowed here! + # Warning: the check_* keys are magic and must consist of the string + # "check_" followed by the applicable check name exactly. The + # "description" field is only the human-readable label for the input. + 'check_build/alidist/O2Suite/o2/macOS': + description: build/alidist/O2Suite/o2/macOS + type: boolean + default: true + 'check_build/alidist/O2Suite/o2/macOS-arm': + description: build/alidist/O2Suite/o2/macOS-arm + type: boolean + default: true + +permissions: {} + +jobs: + clean: + name: Clean macOS PR checks + uses: alisw/ali-bot/.github/workflows/clean-pr-checks.yml@master + with: + owner: ${{ github.event.repository.owner.login }} + repo: ${{ github.event.repository.name }} + pr: ${{ github.event.inputs.pr }} + checks: ${{ toJSON(github.event.inputs) }} + permissions: + pull-requests: read # to get last commit for pr (octokit/graphql-action) + statuses: write # for set-github-status diff --git a/.github/workflows/clean-pr-checks.yml b/.github/workflows/clean-pr-checks.yml index b6e2eadd7d..a5c6e8da06 100644 --- a/.github/workflows/clean-pr-checks.yml +++ b/.github/workflows/clean-pr-checks.yml @@ -38,14 +38,6 @@ name: Clean PR checks description: build/O2/fullCI/alidist type: boolean default: true - 'check_build/alidist/O2Suite/o2/macOS': - description: build/alidist/O2Suite/o2/macOS - type: boolean - default: true - 'check_build/alidist/O2Suite/o2/macOS-arm': - description: build/alidist/O2Suite/o2/macOS-arm - type: boolean - default: true 'check_build/AliGenerators/generators': description: build/AliGenerators/generators type: boolean From fe696328182169f91cf1939c96127f35e80eff89 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 17 May 2024 15:11:02 +0200 Subject: [PATCH 137/172] Circumvent limit on the choices Separate cleanup between linux and macOS --- .github/workflows/clean-pr-checks-macos.yml | 39 +++++++++++++++++++++ .github/workflows/clean-pr-checks.yml | 8 ----- 2 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/clean-pr-checks-macos.yml diff --git a/.github/workflows/clean-pr-checks-macos.yml b/.github/workflows/clean-pr-checks-macos.yml new file mode 100644 index 0000000000..c80b7e74c3 --- /dev/null +++ b/.github/workflows/clean-pr-checks-macos.yml @@ -0,0 +1,39 @@ +--- +name: Clean macOS PR checks + +'on': + workflow_dispatch: + inputs: + pr: + description: PR number in this repo to be cleaned + type: string # can't use number here + required: true + + # Warning: GitHub limits the total number of inputs to 10, so a maximum of + # 9 checks is allowed here! + # Warning: the check_* keys are magic and must consist of the string + # "check_" followed by the applicable check name exactly. The + # "description" field is only the human-readable label for the input. + 'check_build/alidist/O2Suite/o2/macOS': + description: build/alidist/O2Suite/o2/macOS + type: boolean + default: true + 'check_build/alidist/O2Suite/o2/macOS-arm': + description: build/alidist/O2Suite/o2/macOS-arm + type: boolean + default: true + +permissions: {} + +jobs: + clean: + name: Clean macOS PR checks + uses: alisw/ali-bot/.github/workflows/clean-pr-checks.yml@master + with: + owner: ${{ github.event.repository.owner.login }} + repo: ${{ github.event.repository.name }} + pr: ${{ github.event.inputs.pr }} + checks: ${{ toJSON(github.event.inputs) }} + permissions: + pull-requests: read # to get last commit for pr (octokit/graphql-action) + statuses: write # for set-github-status diff --git a/.github/workflows/clean-pr-checks.yml b/.github/workflows/clean-pr-checks.yml index b6e2eadd7d..a5c6e8da06 100644 --- a/.github/workflows/clean-pr-checks.yml +++ b/.github/workflows/clean-pr-checks.yml @@ -38,14 +38,6 @@ name: Clean PR checks description: build/O2/fullCI/alidist type: boolean default: true - 'check_build/alidist/O2Suite/o2/macOS': - description: build/alidist/O2Suite/o2/macOS - type: boolean - default: true - 'check_build/alidist/O2Suite/o2/macOS-arm': - description: build/alidist/O2Suite/o2/macOS-arm - type: boolean - default: true 'check_build/AliGenerators/generators': description: build/AliGenerators/generators type: boolean From e09528dfda3ba78029ff51b80010b0470bf40344 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 23 May 2024 17:20:16 +0200 Subject: [PATCH 138/172] Add prefer_system to the golang recipe prefer_system has priority over prefer_system_check and by default it's not matching any architecture. --- golang.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/golang.sh b/golang.sh index 421a6ddfb5..821e8997b1 100644 --- a/golang.sh +++ b/golang.sh @@ -2,6 +2,7 @@ package: golang version: "1.22.2" build_requires: - curl +prefer_system: ".*" prefer_system_check: | type go && case `go version | sed -e 's/go version go//' | sed -e 's/ .*//'` in 0*|1.[0-9].*) exit 1 ;; esac --- From d9400810cd1d8742c7996efa7063e15c4f4faee1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 24 May 2024 09:57:43 +0200 Subject: [PATCH 139/172] Bump alibuild-recipe-tools to 0.2.5 --- alibuild-recipe-tools.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alibuild-recipe-tools.sh b/alibuild-recipe-tools.sh index 42c2a526f7..b76057a4d2 100644 --- a/alibuild-recipe-tools.sh +++ b/alibuild-recipe-tools.sh @@ -1,6 +1,6 @@ package: alibuild-recipe-tools -version: "0.2.3" -tag: "v0.2.3" +version: "0.2.5" +tag: "v0.2.5" source: https://github.com/alisw/alibuild-recipe-tools --- mkdir -p $INSTALLROOT/bin From d97f3ba91921b11d721cb699a1b8822c32a09e24 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 24 May 2024 09:58:00 +0200 Subject: [PATCH 140/172] Generate modulefiles which allow compiling O2OpenAccess when loaded --- arrow.sh | 2 +- boost.sh | 2 +- common-o2.sh | 2 +- fairlogger.sh | 21 +++++---------------- fairroot.sh | 2 +- fmt.sh | 2 +- libinfologger.sh | 2 +- libjalieno2.sh | 1 + ms_gsl.sh | 17 +++-------------- rapidjson.sh | 2 +- vc.sh | 2 +- 11 files changed, 17 insertions(+), 38 deletions(-) diff --git a/arrow.sh b/arrow.sh index 0e6bb354bb..ccc5fcb384 100644 --- a/arrow.sh +++ b/arrow.sh @@ -119,4 +119,4 @@ find "$INSTALLROOT/share" -name '*-gdb.py' -exec mv {} "$INSTALLROOT/lib" \; # Modulefile mkdir -p "$INSTALLROOT/etc/modulefiles" -alibuild-generate-module --lib > "$INSTALLROOT/etc/modulefiles/$PKGNAME" +alibuild-generate-module --lib --cmake > "$INSTALLROOT/etc/modulefiles/$PKGNAME" diff --git a/boost.sh b/boost.sh index 4431fd9f7d..5121c7bebf 100644 --- a/boost.sh +++ b/boost.sh @@ -119,7 +119,7 @@ MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" mkdir -p etc/modulefiles -alibuild-generate-module --lib > etc/modulefiles/$PKGNAME +alibuild-generate-module --lib --cmake > etc/modulefiles/$PKGNAME cat << EOF >> etc/modulefiles/$PKGNAME prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/common-o2.sh b/common-o2.sh index a250cb00c2..d6ab1415d3 100644 --- a/common-o2.sh +++ b/common-o2.sh @@ -30,7 +30,7 @@ make ${JOBS+-j $JOBS} install #ModuleFile mkdir -p etc/modulefiles -alibuild-generate-module --lib > etc/modulefiles/$PKGNAME +alibuild-generate-module --lib --cmake > etc/modulefiles/$PKGNAME cat << EOF >> etc/modulefiles/$PKGNAME prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/fairlogger.sh b/fairlogger.sh index 2e5fa9fb16..59a67d5230 100644 --- a/fairlogger.sh +++ b/fairlogger.sh @@ -7,6 +7,8 @@ requires: build_requires: - CMake - "GCC-Toolchain:(?!osx)" + - ninja + - alibuild-recipe-tools incremental_recipe: | cmake --build . --target install ${JOBS:+-- -j$JOBS} mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles @@ -24,7 +26,6 @@ case $ARCHITECTURE in esac mkdir -p $INSTALLROOT - cmake $SOURCEDIR \ ${CXX_COMPILER:+-DCMAKE_CXX_COMPILER=$CXX_COMPILER} \ ${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE} \ @@ -42,21 +43,9 @@ cmake --build . --target install ${JOBS:+-- -j$JOBS} # ModuleFile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME +cat >> etc/modulefiles/$PKGNAME < $MODULEFILE +alibuild-generate-module --bin --lib --cmake > $MODULEFILE cat >> "$MODULEFILE" < $MODULEFILE +alibuild-generate-module --lib --cmake > $MODULEFILE cat << EOF >> $MODULEFILE prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/libinfologger.sh b/libinfologger.sh index 09be92ec55..53a2f0ef70 100644 --- a/libinfologger.sh +++ b/libinfologger.sh @@ -31,7 +31,7 @@ ninja ${JOBS+-j $JOBS} install #ModuleFile mkdir -p etc/modulefiles -alibuild-generate-module --bin --lib > etc/modulefiles/$PKGNAME +alibuild-generate-module --bin --lib --cmake > etc/modulefiles/$PKGNAME cat >> etc/modulefiles/$PKGNAME < $MODULEFILE cat > "$MODULEFILE" < $MODULEFILE +alibuild-generate-module --lib --cmake > $MODULEFILE cat << EOF >> $MODULEFILE prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/vc.sh b/vc.sh index 606e7bdd70..3d53339ed1 100644 --- a/vc.sh +++ b/vc.sh @@ -19,7 +19,7 @@ make ${JOBS+-j $JOBS} install MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" mkdir -p "$MODULEDIR" -alibuild-generate-module --lib > $MODULEFILE +alibuild-generate-module --lib --cmake > $MODULEFILE cat >> "$MODULEFILE" < Date: Fri, 24 May 2024 12:04:50 +0200 Subject: [PATCH 141/172] Bump alibuild-recipe-tools to 0.2.5 --- alibuild-recipe-tools.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alibuild-recipe-tools.sh b/alibuild-recipe-tools.sh index 42c2a526f7..b76057a4d2 100644 --- a/alibuild-recipe-tools.sh +++ b/alibuild-recipe-tools.sh @@ -1,6 +1,6 @@ package: alibuild-recipe-tools -version: "0.2.3" -tag: "v0.2.3" +version: "0.2.5" +tag: "v0.2.5" source: https://github.com/alisw/alibuild-recipe-tools --- mkdir -p $INSTALLROOT/bin From b26d292eaaf9cacd62ba3d40ec8eac87af9fb4be Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 24 May 2024 12:04:50 +0200 Subject: [PATCH 142/172] Generate modulefiles which allow compiling O2OpenAccess when loaded --- arrow.sh | 2 +- boost.sh | 2 +- common-o2.sh | 2 +- fairlogger.sh | 21 +++++---------------- fairroot.sh | 2 +- fmt.sh | 2 +- libinfologger.sh | 2 +- libjalieno2.sh | 1 + ms_gsl.sh | 19 ++++--------------- rapidjson.sh | 2 +- vc.sh | 2 +- 11 files changed, 18 insertions(+), 39 deletions(-) diff --git a/arrow.sh b/arrow.sh index 0e6bb354bb..ccc5fcb384 100644 --- a/arrow.sh +++ b/arrow.sh @@ -119,4 +119,4 @@ find "$INSTALLROOT/share" -name '*-gdb.py' -exec mv {} "$INSTALLROOT/lib" \; # Modulefile mkdir -p "$INSTALLROOT/etc/modulefiles" -alibuild-generate-module --lib > "$INSTALLROOT/etc/modulefiles/$PKGNAME" +alibuild-generate-module --lib --cmake > "$INSTALLROOT/etc/modulefiles/$PKGNAME" diff --git a/boost.sh b/boost.sh index 4431fd9f7d..5121c7bebf 100644 --- a/boost.sh +++ b/boost.sh @@ -119,7 +119,7 @@ MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" mkdir -p etc/modulefiles -alibuild-generate-module --lib > etc/modulefiles/$PKGNAME +alibuild-generate-module --lib --cmake > etc/modulefiles/$PKGNAME cat << EOF >> etc/modulefiles/$PKGNAME prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/common-o2.sh b/common-o2.sh index a250cb00c2..d6ab1415d3 100644 --- a/common-o2.sh +++ b/common-o2.sh @@ -30,7 +30,7 @@ make ${JOBS+-j $JOBS} install #ModuleFile mkdir -p etc/modulefiles -alibuild-generate-module --lib > etc/modulefiles/$PKGNAME +alibuild-generate-module --lib --cmake > etc/modulefiles/$PKGNAME cat << EOF >> etc/modulefiles/$PKGNAME prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/fairlogger.sh b/fairlogger.sh index 2e5fa9fb16..59a67d5230 100644 --- a/fairlogger.sh +++ b/fairlogger.sh @@ -7,6 +7,8 @@ requires: build_requires: - CMake - "GCC-Toolchain:(?!osx)" + - ninja + - alibuild-recipe-tools incremental_recipe: | cmake --build . --target install ${JOBS:+-- -j$JOBS} mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles @@ -24,7 +26,6 @@ case $ARCHITECTURE in esac mkdir -p $INSTALLROOT - cmake $SOURCEDIR \ ${CXX_COMPILER:+-DCMAKE_CXX_COMPILER=$CXX_COMPILER} \ ${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE} \ @@ -42,21 +43,9 @@ cmake --build . --target install ${JOBS:+-- -j$JOBS} # ModuleFile mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME +cat >> etc/modulefiles/$PKGNAME < $MODULEFILE +alibuild-generate-module --bin --lib --cmake > $MODULEFILE cat >> "$MODULEFILE" < $MODULEFILE +alibuild-generate-module --lib --cmake > $MODULEFILE cat << EOF >> $MODULEFILE prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/libinfologger.sh b/libinfologger.sh index 09be92ec55..53a2f0ef70 100644 --- a/libinfologger.sh +++ b/libinfologger.sh @@ -31,7 +31,7 @@ ninja ${JOBS+-j $JOBS} install #ModuleFile mkdir -p etc/modulefiles -alibuild-generate-module --bin --lib > etc/modulefiles/$PKGNAME +alibuild-generate-module --bin --lib --cmake > etc/modulefiles/$PKGNAME cat >> etc/modulefiles/$PKGNAME < "$MODULEFILE" < $MODULEFILE +cat >> "$MODULEFILE" < $MODULEFILE +alibuild-generate-module --lib --cmake > $MODULEFILE cat << EOF >> $MODULEFILE prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include EOF diff --git a/vc.sh b/vc.sh index 606e7bdd70..3d53339ed1 100644 --- a/vc.sh +++ b/vc.sh @@ -19,7 +19,7 @@ make ${JOBS+-j $JOBS} install MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" mkdir -p "$MODULEDIR" -alibuild-generate-module --lib > $MODULEFILE +alibuild-generate-module --lib --cmake > $MODULEFILE cat >> "$MODULEFILE" < Date: Sat, 25 May 2024 09:37:56 +0200 Subject: [PATCH 143/172] More dependencies to build standalone from CVMFS --- abseil.sh | 9 ++------- libuv.sh | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/abseil.sh b/abseil.sh index 949b60f078..c1ae03cc56 100644 --- a/abseil.sh +++ b/abseil.sh @@ -26,12 +26,7 @@ make ${JOBS:+-j$JOBS} install MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" mkdir -p "$MODULEDIR" -alibuild-generate-module > "$MODULEFILE" +alibuild-generate-module --lib --bin --cmake > "$MODULEFILE" cat >> "$MODULEFILE" < etc/modulefiles/$PKGNAME +alibuild-generate-module --lib --cmake > etc/modulefiles/$PKGNAME mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles From 216dd3537d7c5173196411d6215c06b6cb4a7729 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 28 May 2024 13:50:01 +0200 Subject: [PATCH 144/172] Bump UCX to v1.16.0 and modernize recipe --- ucx.sh | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/ucx.sh b/ucx.sh index a5faaf7e9e..abcd0c8b4a 100644 --- a/ucx.sh +++ b/ucx.sh @@ -1,6 +1,6 @@ package: ucx version: "%(tag_basename)s" -tag: v1.13.1 +tag: v1.16.0 requires: - "GCC-Toolchain:(?!osx)" build_requires: @@ -8,17 +8,16 @@ build_requires: - alibuild-recipe-tools - "GCC-Toolchain:(?!osx)" source: https://github.com/openucx/ucx +system_requirement_missing: | + rdma-core not found. + * On RHEL-compatible systems you probably need: rdma-core-devel +system_requirement: ".*" +system_requirement_check: | + printf "#include " | cc -xc - -c -o /dev/null --- -#!/bin/bash -e - # Unified Communication X Library (linux only) ## NOTE: rdma-core and rdma-core-devel (v35+) packages must be installed for O2 FLP/EPN use - -printf "#include " | cc -xc - -c -o /dev/null || -( printf "rdma-core not found.\n * On RHEL-compatible systems you probably need: rdma-core-devel\n"; exit 1; ) - -rsync -a --delete --exclude "**/.git" ${SOURCEDIR}/ . -./autogen.sh +${SOURCEDIR}/autogen.sh ./contrib/configure-release-mt --prefix=${INSTALLROOT} \ --with-verbs \ --with-rdmacm \ From ae02cb8f6073e646c3585adb4304ef3d1f514026 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 28 May 2024 16:19:17 +0200 Subject: [PATCH 145/172] Bump UCX to v1.16.0 and modernize recipe --- ucx.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ucx.sh b/ucx.sh index a5faaf7e9e..9f334922da 100644 --- a/ucx.sh +++ b/ucx.sh @@ -1,6 +1,6 @@ package: ucx version: "%(tag_basename)s" -tag: v1.13.1 +tag: v1.16.0 requires: - "GCC-Toolchain:(?!osx)" build_requires: @@ -9,16 +9,13 @@ build_requires: - "GCC-Toolchain:(?!osx)" source: https://github.com/openucx/ucx --- -#!/bin/bash -e - # Unified Communication X Library (linux only) ## NOTE: rdma-core and rdma-core-devel (v35+) packages must be installed for O2 FLP/EPN use printf "#include " | cc -xc - -c -o /dev/null || ( printf "rdma-core not found.\n * On RHEL-compatible systems you probably need: rdma-core-devel\n"; exit 1; ) -rsync -a --delete --exclude "**/.git" ${SOURCEDIR}/ . -./autogen.sh +${SOURCEDIR}/autogen.sh ./contrib/configure-release-mt --prefix=${INSTALLROOT} \ --with-verbs \ --with-rdmacm \ From f5714f7c3a401e52e6141d4b668d60adb0b71248 Mon Sep 17 00:00:00 2001 From: Peter Hristov Date: Wed, 29 May 2024 09:27:02 +0200 Subject: [PATCH 146/172] More dependencies to build from CVMFS --- jalien-root.sh | 2 +- xrootd.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jalien-root.sh b/jalien-root.sh index c38432e0e8..a4f8a7bb20 100644 --- a/jalien-root.sh +++ b/jalien-root.sh @@ -56,7 +56,7 @@ cmake --build . -- ${JOBS:+-j $JOBS} install # Modulefile mkdir -p etc/modulefiles -alibuild-generate-module --lib > "etc/modulefiles/$PKGNAME" +alibuild-generate-module --lib --cmake > "etc/modulefiles/$PKGNAME" cat >> "etc/modulefiles/$PKGNAME" < "$MODULEFILE" +alibuild-generate-module --bin --lib --cmake > "$MODULEFILE" cat >> "$MODULEFILE" < Date: Wed, 29 May 2024 09:58:27 +0200 Subject: [PATCH 147/172] Bump UCX to v1.16.0 --- ucx.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ucx.sh b/ucx.sh index a5faaf7e9e..194e8c4305 100644 --- a/ucx.sh +++ b/ucx.sh @@ -1,6 +1,6 @@ package: ucx version: "%(tag_basename)s" -tag: v1.13.1 +tag: v1.16.0 requires: - "GCC-Toolchain:(?!osx)" build_requires: From ca1dbbea8def6fc6aae1d10f6819cf935ea646c7 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:41:09 +0200 Subject: [PATCH 148/172] Bump MACOSX_DEPLOYMENT_PLATFORM --- defaults-o2-dataflow.sh | 2 +- defaults-o2.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults-o2-dataflow.sh b/defaults-o2-dataflow.sh index 4265c4e4a3..c27ece3d67 100644 --- a/defaults-o2-dataflow.sh +++ b/defaults-o2-dataflow.sh @@ -6,7 +6,7 @@ env: CMAKE_BUILD_TYPE: "RELWITHDEBINFO" CXXSTD: "20" ENABLE_VMC: 'ON' - MACOSX_DEPLOYMENT_TARGET: '10.15' + MACOSX_DEPLOYMENT_TARGET: '14.0' disable: - AEGIS - AliEn-Runtime diff --git a/defaults-o2.sh b/defaults-o2.sh index 1164cbd378..c438443377 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -7,7 +7,7 @@ env: CXXSTD: '20' ENABLE_VMC: 'ON' GEANT4_BUILD_MULTITHREADED: 'OFF' - MACOSX_DEPLOYMENT_TARGET: '10.15' + MACOSX_DEPLOYMENT_TARGET: '14.0' disable: - mesos - MySQL From 1dc9d981188968abf715fe409b147ecc0d051aea Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 7 Jun 2024 08:28:58 +0200 Subject: [PATCH 149/172] Add proper Vc support in ROOT --- curl.sh | 1 - root.sh | 3 +++ vc.sh | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/curl.sh b/curl.sh index 0de000f40b..76e3acaad0 100644 --- a/curl.sh +++ b/curl.sh @@ -14,7 +14,6 @@ if [[ $ARCHITECTURE = osx* ]]; then else ${OPENSSL_ROOT:+env LDFLAGS=-Wl,-R$OPENSSL_ROOT/lib} fi - rsync -av --delete --exclude="**/.git" $SOURCEDIR/ . sed -i.deleteme 's/CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"/CPPFLAGS="$SSL_CPPFLAGS $CPPFLAGS"/' configure.ac diff --git a/root.sh b/root.sh index a72106eee3..ffa2ef37fd 100644 --- a/root.sh +++ b/root.sh @@ -20,6 +20,7 @@ requires: - TBB - protobuf - FFTW3 + - Vc build_requires: - CMake - "Xcode:(osx.*)" @@ -167,6 +168,8 @@ cmake $SOURCEDIR -Dsoversion=ON \ -Dshadowpw=OFF \ -Dvdt=OFF \ + -Dvc=ON \ + -Dbuiltin_vc=OFF \ -Dbuiltin_vdt=OFF \ -Dgviz=OFF \ -Dbuiltin_davix=OFF \ diff --git a/vc.sh b/vc.sh index 3d53339ed1..c69751aafa 100644 --- a/vc.sh +++ b/vc.sh @@ -7,13 +7,14 @@ requires: build_requires: - CMake - alibuild-recipe-tools + - ninja prepend_path: ROOT_INCLUDE_PATH: "$VC_ROOT/include" --- #!/bin/bash -e -cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DBUILD_TESTING=OFF +cmake $SOURCEDIR -G Ninja -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DBUILD_TESTING=OFF -make ${JOBS+-j $JOBS} install +cmake --build . --target install ${JOBS+-j $JOBS} # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" From f67adc6dc19ea93287931908c5e33f59d65e00ad Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:01:52 +0200 Subject: [PATCH 150/172] Improve defaults for xrootd --- o2-full-system-test.sh | 4 ---- o2-sim-challenge-test.sh | 3 --- xrootd.sh | 10 ++++++++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/o2-full-system-test.sh b/o2-full-system-test.sh index 1c5c2f06ae..5fcf5e1a86 100644 --- a/o2-full-system-test.sh +++ b/o2-full-system-test.sh @@ -25,10 +25,6 @@ export NHBPERTF=128 export SHMSIZE=8000000000 export NJOBS="$JOBS" export DPL_REPORT_PROCESSING=1 -export XRD_CONNECTIONWINDOW=3 -export XRD_CONNECTIONRETRY=1 -export XRD_TIMEOUTRESOLUTION=1 -export XRD_REQUESTTIMEOUT=60 WORKFLOW_EXTRA_PROCESSING_STEPS=TPC_DEDX,MFT_RECO,MID_RECO,MCH_RECO,MATCH_MFTMCH,MATCH_MCHMID,MUON_SYNC_RECO,ZDC_RECO FST_SYNC_EXTRA_WORKFLOW_PARAMETERS=QC,CALIB_LOCAL_AGGREGATOR,CALIB_LOCAL_INTEGRATED_AGGREGATOR QC_REDIRECT_MERGER_TO_LOCALHOST=1 GEN_TOPO_WORKDIR=`pwd` ALICE_O2SIM_DUMPLOG=1 NEvents=5 NEventsQED=100 O2SIMSEED=12345 $O2_ROOT/prodtests/full_system_test.sh $O2_ROOT/prodtests/full_system_test_ci_extra_tests.sh diff --git a/o2-sim-challenge-test.sh b/o2-sim-challenge-test.sh index d8f8bf4903..15a912a0f6 100644 --- a/o2-sim-challenge-test.sh +++ b/o2-sim-challenge-test.sh @@ -19,9 +19,6 @@ export JOBUTILS_PRINT_ON_ERROR=1 export JOBUTILS_JOB_TIMEOUT=2400 export NJOBS="$JOBS" export DPL_REPORT_PROCESSING=1 -export XRD_CONNECTIONWINDOW=3 -export XRD_CONNECTIONRETRY=1 -export XRD_TIMEOUTRESOLUTION=1 rm -Rf $BUILDDIR/sim-challenge mkdir $BUILDDIR/sim-challenge diff --git a/xrootd.sh b/xrootd.sh index 6e0e75d05f..697a8fdd74 100644 --- a/xrootd.sh +++ b/xrootd.sh @@ -15,6 +15,11 @@ build_requires: - alibuild-recipe-tools prepend_path: PYTHONPATH: "${XROOTD_ROOT}/lib/python/site-packages" +env: + XRD_CONNECTIONWINDOW: 3 + XRD_CONNECTIONRETRY: 1 + XRD_TIMEOUTRESOLUTION: 1 + XRD_REQUESTTIMEOUT: 60 --- #!/bin/bash -e @@ -137,6 +142,11 @@ mkdir -p "$MODULEDIR" alibuild-generate-module --bin --lib --cmake > "$MODULEFILE" cat >> "$MODULEFILE" < Date: Fri, 14 Jun 2024 11:53:07 +0200 Subject: [PATCH 151/172] Improve defaults for xrootd --- o2-full-system-test.sh | 4 ---- o2-sim-challenge-test.sh | 3 --- xrootd.sh | 15 +++++++++++++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/o2-full-system-test.sh b/o2-full-system-test.sh index 1c5c2f06ae..5fcf5e1a86 100644 --- a/o2-full-system-test.sh +++ b/o2-full-system-test.sh @@ -25,10 +25,6 @@ export NHBPERTF=128 export SHMSIZE=8000000000 export NJOBS="$JOBS" export DPL_REPORT_PROCESSING=1 -export XRD_CONNECTIONWINDOW=3 -export XRD_CONNECTIONRETRY=1 -export XRD_TIMEOUTRESOLUTION=1 -export XRD_REQUESTTIMEOUT=60 WORKFLOW_EXTRA_PROCESSING_STEPS=TPC_DEDX,MFT_RECO,MID_RECO,MCH_RECO,MATCH_MFTMCH,MATCH_MCHMID,MUON_SYNC_RECO,ZDC_RECO FST_SYNC_EXTRA_WORKFLOW_PARAMETERS=QC,CALIB_LOCAL_AGGREGATOR,CALIB_LOCAL_INTEGRATED_AGGREGATOR QC_REDIRECT_MERGER_TO_LOCALHOST=1 GEN_TOPO_WORKDIR=`pwd` ALICE_O2SIM_DUMPLOG=1 NEvents=5 NEventsQED=100 O2SIMSEED=12345 $O2_ROOT/prodtests/full_system_test.sh $O2_ROOT/prodtests/full_system_test_ci_extra_tests.sh diff --git a/o2-sim-challenge-test.sh b/o2-sim-challenge-test.sh index d8f8bf4903..15a912a0f6 100644 --- a/o2-sim-challenge-test.sh +++ b/o2-sim-challenge-test.sh @@ -19,9 +19,6 @@ export JOBUTILS_PRINT_ON_ERROR=1 export JOBUTILS_JOB_TIMEOUT=2400 export NJOBS="$JOBS" export DPL_REPORT_PROCESSING=1 -export XRD_CONNECTIONWINDOW=3 -export XRD_CONNECTIONRETRY=1 -export XRD_TIMEOUTRESOLUTION=1 rm -Rf $BUILDDIR/sim-challenge mkdir $BUILDDIR/sim-challenge diff --git a/xrootd.sh b/xrootd.sh index 6e0e75d05f..7dcf9245c5 100644 --- a/xrootd.sh +++ b/xrootd.sh @@ -15,6 +15,11 @@ build_requires: - alibuild-recipe-tools prepend_path: PYTHONPATH: "${XROOTD_ROOT}/lib/python/site-packages" +env: + XRD_CONNECTIONWINDOW: 3 + XRD_CONNECTIONRETRY: 1 + XRD_TIMEOUTRESOLUTION: 1 + XRD_REQUESTTIMEOUT: 60 --- #!/bin/bash -e @@ -136,7 +141,17 @@ mkdir -p "$MODULEDIR" alibuild-generate-module --bin --lib --cmake > "$MODULEFILE" +case $ARCHITECTURE in + slc[78]*) OPTIONAL_ENV= ;; + *) OPTIONAL_ENV="--set-if-undef " ;; +esac + cat >> "$MODULEFILE" < Date: Fri, 14 Jun 2024 11:55:43 +0200 Subject: [PATCH 152/172] Improve defaults for xrootd --- o2-full-system-test.sh | 4 ---- o2-sim-challenge-test.sh | 3 --- xrootd.sh | 15 +++++++++++++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/o2-full-system-test.sh b/o2-full-system-test.sh index 1c5c2f06ae..5fcf5e1a86 100644 --- a/o2-full-system-test.sh +++ b/o2-full-system-test.sh @@ -25,10 +25,6 @@ export NHBPERTF=128 export SHMSIZE=8000000000 export NJOBS="$JOBS" export DPL_REPORT_PROCESSING=1 -export XRD_CONNECTIONWINDOW=3 -export XRD_CONNECTIONRETRY=1 -export XRD_TIMEOUTRESOLUTION=1 -export XRD_REQUESTTIMEOUT=60 WORKFLOW_EXTRA_PROCESSING_STEPS=TPC_DEDX,MFT_RECO,MID_RECO,MCH_RECO,MATCH_MFTMCH,MATCH_MCHMID,MUON_SYNC_RECO,ZDC_RECO FST_SYNC_EXTRA_WORKFLOW_PARAMETERS=QC,CALIB_LOCAL_AGGREGATOR,CALIB_LOCAL_INTEGRATED_AGGREGATOR QC_REDIRECT_MERGER_TO_LOCALHOST=1 GEN_TOPO_WORKDIR=`pwd` ALICE_O2SIM_DUMPLOG=1 NEvents=5 NEventsQED=100 O2SIMSEED=12345 $O2_ROOT/prodtests/full_system_test.sh $O2_ROOT/prodtests/full_system_test_ci_extra_tests.sh diff --git a/o2-sim-challenge-test.sh b/o2-sim-challenge-test.sh index d8f8bf4903..15a912a0f6 100644 --- a/o2-sim-challenge-test.sh +++ b/o2-sim-challenge-test.sh @@ -19,9 +19,6 @@ export JOBUTILS_PRINT_ON_ERROR=1 export JOBUTILS_JOB_TIMEOUT=2400 export NJOBS="$JOBS" export DPL_REPORT_PROCESSING=1 -export XRD_CONNECTIONWINDOW=3 -export XRD_CONNECTIONRETRY=1 -export XRD_TIMEOUTRESOLUTION=1 rm -Rf $BUILDDIR/sim-challenge mkdir $BUILDDIR/sim-challenge diff --git a/xrootd.sh b/xrootd.sh index 6e0e75d05f..e8f1717558 100644 --- a/xrootd.sh +++ b/xrootd.sh @@ -15,6 +15,11 @@ build_requires: - alibuild-recipe-tools prepend_path: PYTHONPATH: "${XROOTD_ROOT}/lib/python/site-packages" +env: + XRD_CONNECTIONWINDOW: "3" + XRD_CONNECTIONRETRY: "1" + XRD_TIMEOUTRESOLUTION: "1" + XRD_REQUESTTIMEOUT: "60" --- #!/bin/bash -e @@ -136,7 +141,17 @@ mkdir -p "$MODULEDIR" alibuild-generate-module --bin --lib --cmake > "$MODULEFILE" +case $ARCHITECTURE in + slc[78]*) OPTIONAL_ENV= ;; + *) OPTIONAL_ENV="--set-if-undef " ;; +esac + cat >> "$MODULEFILE" < Date: Tue, 18 Jun 2024 14:03:39 +0200 Subject: [PATCH 153/172] Do not depend on makeinfo when possible --- gmp.sh | 4 ++-- libffi.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gmp.sh b/gmp.sh index 8eac2ed5e8..1f7fe3dd3c 100644 --- a/gmp.sh +++ b/gmp.sh @@ -31,8 +31,8 @@ case $ARCHITECTURE in ;; esac -make ${JOBS+-j $JOBS} -make install +make ${JOBS+-j $JOBS} MAKEINFO=: +make install MAKEINFO=: rm -f $INSTALLROOT/lib/*.la diff --git a/libffi.sh b/libffi.sh index 9e5a22fed7..c0e137370b 100644 --- a/libffi.sh +++ b/libffi.sh @@ -10,9 +10,9 @@ prepend_path: #!/bin/bash -ex rsync -a $SOURCEDIR/ . autoreconf -ivf . -./configure --prefix=$INSTALLROOT --disable-docs -make ${JOBS:+-j $JOBS} -make install +MAKEINFO=: ./configure --prefix=$INSTALLROOT --disable-docs +make ${JOBS:+-j $JOBS} MAKEINFO=: +make install MAKEINFO=: LIBPATH=$(find $INSTALLROOT -name libffi.so -o -name libffi.dylib -o -name libffi.a | head -n 1) # Do not install info documentation From 558abd31b47d2f9a3589a0e449eea6525e742552 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:04:41 +0200 Subject: [PATCH 154/172] Speedup SQLite builds on big nodes --- sqlite.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlite.sh b/sqlite.sh index 2230173fbb..c8cbdd6236 100644 --- a/sqlite.sh +++ b/sqlite.sh @@ -15,7 +15,7 @@ build_requires: rsync -av $SOURCEDIR/ ./ autoreconf -ivf ./configure --disable-tcl --disable-readline --disable-static --prefix=$INSTALLROOT -make +make ${JOBS:+-j $JOBS} make install rm -f $INSTALLROOT/lib/*.la rm -rf $INSTALLROOT/share From d7967440c1462f9f1286bbecfdb8b9fead873cad Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:06:50 +0200 Subject: [PATCH 155/172] Allow ONNXRuntime and TBB to be used by ROOT when building --- onnxruntime.sh | 2 ++ tbb.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/onnxruntime.sh b/onnxruntime.sh index 9e73aa1a97..9ada854de6 100644 --- a/onnxruntime.sh +++ b/onnxruntime.sh @@ -11,6 +11,8 @@ build_requires: - alibuild-recipe-tools - "Python:(slc|ubuntu)" # this package builds ONNX, which requires Python - "Python-system:(?!slc.*|ubuntu)" +prepend_path: + ROOT_INCLUDE_PATH: "$ONNXRUNTIME_ROOT/include/onnxruntime" --- #!/bin/bash -e diff --git a/tbb.sh b/tbb.sh index bfbb6c2b40..6f176b6009 100644 --- a/tbb.sh +++ b/tbb.sh @@ -9,6 +9,8 @@ build_requires: prefer_system: .* prefer_system_check: | printf "#include \n static_assert(TBB_INTERFACE_VERSION >= 11009, \"min version check failed\");\n" | c++ -std=c++11 -xc++ - -c -o /dev/null +prepend_path: + ROOT_INCLUDE_PATH: "$TBB_ROOT/include" --- #!/bin/bash -e cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ From b76d4a5620b8083bfd11cc9e37efa505d2282569 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 18 Jun 2024 22:47:58 +0200 Subject: [PATCH 156/172] Modernize ninja support Adds support for C++20 modules in particular. --- ninja.sh | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/ninja.sh b/ninja.sh index 156a8f4fd9..43bc9c44f9 100644 --- a/ninja.sh +++ b/ninja.sh @@ -1,32 +1,17 @@ package: ninja version: "fortran-%(short_hash)s" -tag: "v1.8.2.g3bbbe.kitware.dyndep-1.jobserver-1" +tag: "v1.11.1.g95dee.kitware.jobserver-1" source: https://github.com/Kitware/ninja build_requires: - "GCC-Toolchain:(?!osx)" + - "CMake" + - alibuild-recipe-tools --- -python3 $SOURCEDIR/configure.py --bootstrap +cmake -Bbuild-cmake $SOURCEDIR +cmake --build build-cmake mkdir -p $INSTALLROOT/bin -cp ./ninja $INSTALLROOT/bin +cp build-cmake/ninja $INSTALLROOT/bin -# Modulefile -mkdir -p etc/modulefiles - -cat > etc/modulefiles/$PKGNAME <"$INSTALLROOT/etc/modulefiles/$PKGNAME" From 469f3efe03b722a43a4a384a35a568674d6ffad8 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 25 Jun 2024 22:34:09 +0200 Subject: [PATCH 157/172] Go: add support for arm linux --- golang.sh | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/golang.sh b/golang.sh index aaf7ce98d5..09108854b7 100644 --- a/golang.sh +++ b/golang.sh @@ -2,37 +2,19 @@ package: golang version: "1.22.2" build_requires: - curl + - alibuild-recipe-tools prefer_system: ".*" prefer_system_check: | type go && case `go version | sed -e 's/go version go//' | sed -e 's/ .*//'` in 1.2[2-9].*) exit 0 ;; *) exit 1 ;; esac --- case $ARCHITECTURE in - osx_arm64) - ARCH=$(uname|tr '[:upper:]' '[:lower:]')-arm64 - ;; - *) - ARCH=$(uname|tr '[:upper:]' '[:lower:]')-amd64 - ;; + osx_arm64) ARCH=$(uname|tr '[:upper:]' '[:lower:]')-arm64 ;; + *_aarch64) ARCH=$(uname|tr '[:upper:]' '[:lower:]')-arm64 ;; + *) ARCH=$(uname|tr '[:upper:]' '[:lower:]')-amd64 ;; esac curl -LO https://golang.org/dl/go$PKGVERSION.$ARCH.tar.gz tar --strip-components=1 -C $INSTALLROOT -xzf go$PKGVERSION.$ARCH.tar.gz mkdir -p etc/modulefiles -cat > etc/modulefiles/$PKGNAME < etc/modulefiles/$PKGNAME mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles From f02547889d4569294e140785fb891499bd323c2e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 26 Jun 2024 08:12:13 +0200 Subject: [PATCH 158/172] Support full build on ARM --- readoutcard.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readoutcard.sh b/readoutcard.sh index f5de7819ce..1a349ecf97 100644 --- a/readoutcard.sh +++ b/readoutcard.sh @@ -8,7 +8,7 @@ requires: - Configuration - Monitoring - libInfoLogger - - "PDA:(?!osx)" + - "PDA:(?!osx|?!.*aarch64)" - "Python:(?!osx)" - "Python-system:(?!slc.*)" build_requires: From df70fbc45af3f756267603c5c21a724b2c781f6e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 26 Jun 2024 08:29:04 +0200 Subject: [PATCH 159/172] Support full build on ARM --- readoutcard.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readoutcard.sh b/readoutcard.sh index f5de7819ce..b4753b54d6 100644 --- a/readoutcard.sh +++ b/readoutcard.sh @@ -8,7 +8,7 @@ requires: - Configuration - Monitoring - libInfoLogger - - "PDA:(?!osx)" + - "PDA:(?!osx|.*aarch64)" - "Python:(?!osx)" - "Python-system:(?!slc.*)" build_requires: From 2acebef7a2ad73389dabc4244550702b671d0945 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 26 Jun 2024 08:29:04 +0200 Subject: [PATCH 160/172] Support full build on ARM --- readout.sh | 2 +- readoutcard.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/readout.sh b/readout.sh index 01712d77a0..4fb9efe995 100644 --- a/readout.sh +++ b/readout.sh @@ -10,7 +10,7 @@ requires: - FairLogger - Monitoring - Configuration - - "ReadoutCard:(slc.*)" + - "ReadoutCard:(slc.*_x86-64)" - lz4 - Control-OCCPlugin - ZeroMQ diff --git a/readoutcard.sh b/readoutcard.sh index f5de7819ce..b4753b54d6 100644 --- a/readoutcard.sh +++ b/readoutcard.sh @@ -8,7 +8,7 @@ requires: - Configuration - Monitoring - libInfoLogger - - "PDA:(?!osx)" + - "PDA:(?!osx|.*aarch64)" - "Python:(?!osx)" - "Python-system:(?!slc.*)" build_requires: From b4d2e2fd2b46b95d2f5703056521d6801f6b3407 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 26 Jun 2024 08:29:04 +0200 Subject: [PATCH 161/172] Support full build on ARM --- o2suite.sh | 4 ++-- readout.sh | 2 +- readoutcard.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/o2suite.sh b/o2suite.sh index 5c7407f378..d9813fc98e 100644 --- a/o2suite.sh +++ b/o2suite.sh @@ -7,11 +7,11 @@ requires: - Control-OCCPlugin - O2 - O2Physics - - "ReadoutCard:(slc*)" + - "ReadoutCard:(slc.*x86)" - Readout - QualityControl - "DataDistribution:(?!osx)" - - "ALF:(?!osx)" + - "ALF:(?!osx|.*aarch64)" - "mesos:(slc.*)" - "TpcFecUtils:(?!osx)" valid_defaults: diff --git a/readout.sh b/readout.sh index 01712d77a0..4fb9efe995 100644 --- a/readout.sh +++ b/readout.sh @@ -10,7 +10,7 @@ requires: - FairLogger - Monitoring - Configuration - - "ReadoutCard:(slc.*)" + - "ReadoutCard:(slc.*_x86-64)" - lz4 - Control-OCCPlugin - ZeroMQ diff --git a/readoutcard.sh b/readoutcard.sh index f5de7819ce..b4753b54d6 100644 --- a/readoutcard.sh +++ b/readoutcard.sh @@ -8,7 +8,7 @@ requires: - Configuration - Monitoring - libInfoLogger - - "PDA:(?!osx)" + - "PDA:(?!osx|.*aarch64)" - "Python:(?!osx)" - "Python-system:(?!slc.*)" build_requires: From bdeab7a49326f91c27e4cb00a011fa327e86f1ff Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 26 Jun 2024 08:29:04 +0200 Subject: [PATCH 162/172] Support full build on ARM --- o2suite.sh | 10 +++++----- readout.sh | 2 +- readoutcard.sh | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/o2suite.sh b/o2suite.sh index 5c7407f378..2c4e083024 100644 --- a/o2suite.sh +++ b/o2suite.sh @@ -7,13 +7,13 @@ requires: - Control-OCCPlugin - O2 - O2Physics - - "ReadoutCard:(slc*)" + - "ReadoutCard:(slc.*x86)" - Readout - QualityControl - - "DataDistribution:(?!osx)" - - "ALF:(?!osx)" - - "mesos:(slc.*)" - - "TpcFecUtils:(?!osx)" + - "DataDistribution:(?!osx|.*aarch64)" + - "ALF:(?!osx|.*aarch64)" + - "mesos:(slc.*x86)" + - "TpcFecUtils:(?!osx|.*aarch64)" valid_defaults: - o2 - o2-dataflow diff --git a/readout.sh b/readout.sh index 01712d77a0..4fb9efe995 100644 --- a/readout.sh +++ b/readout.sh @@ -10,7 +10,7 @@ requires: - FairLogger - Monitoring - Configuration - - "ReadoutCard:(slc.*)" + - "ReadoutCard:(slc.*_x86-64)" - lz4 - Control-OCCPlugin - ZeroMQ diff --git a/readoutcard.sh b/readoutcard.sh index f5de7819ce..b4753b54d6 100644 --- a/readoutcard.sh +++ b/readoutcard.sh @@ -8,7 +8,7 @@ requires: - Configuration - Monitoring - libInfoLogger - - "PDA:(?!osx)" + - "PDA:(?!osx|.*aarch64)" - "Python:(?!osx)" - "Python-system:(?!slc.*)" build_requires: From 081879f39509f3dca0a825090bab81b363a4af38 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:54:19 +0200 Subject: [PATCH 163/172] Bump ucx to 1.13.1-alice1 --- ucx.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ucx.sh b/ucx.sh index a5faaf7e9e..aea5d0a731 100644 --- a/ucx.sh +++ b/ucx.sh @@ -1,13 +1,13 @@ package: ucx version: "%(tag_basename)s" -tag: v1.13.1 +tag: v1.13.1-alice1 requires: - "GCC-Toolchain:(?!osx)" build_requires: - "autotools:(slc6|slc7)" - alibuild-recipe-tools - "GCC-Toolchain:(?!osx)" -source: https://github.com/openucx/ucx +source: https://github.com/alisw/ucx --- #!/bin/bash -e From b230e72e689dac74bfa03709a79f888587bd6d3b Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:56:01 +0200 Subject: [PATCH 164/172] Improve flatbuffer recipe - Bump to the latest version - Clean up old workarounds from the recipe --- flatbuffers.sh | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/flatbuffers.sh b/flatbuffers.sh index 297a31e064..53db7cd59a 100644 --- a/flatbuffers.sh +++ b/flatbuffers.sh @@ -1,5 +1,5 @@ package: flatbuffers -version: v1.12.0 +version: v24.3.25 source: https://github.com/google/flatbuffers requires: - zlib @@ -7,26 +7,20 @@ build_requires: - CMake - "GCC-Toolchain:(?!osx)" - alibuild-recipe-tools + - ninja --- -#!/bin/bash -e -cmake "$SOURCEDIR" \ - -G 'Unix Makefiles' \ - -DFLATBUFFERS_BUILD_TESTS=OFF \ - -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-unknown-warning -Wno-unknown-warning-option -Wno-error=unused-but-set-variable" -# LLVM 15 requires -Wno-error=unused-but-set-variable to compile -# flatbuffers, but GCC earlier LLVM versions don't understand this -# option, so we need -Wno-unknown-warning (for GCC) and -# -Wno-unknown-warning-option (for Clang) as well. +cmake "$SOURCEDIR" \ + -G 'Ninja' \ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" -make ${JOBS:+-j $JOBS} -make install +cmake --build . -- ${JOBS:+-j$JOBS} install # Work around potentially faulty CMake (missing `install` for binaries) -mkdir -p "$INSTALLROOT/bin" -for bin in flathash flatc; do - [ -e "$INSTALLROOT/bin/$bin" ] || cp -p "$bin" "$INSTALLROOT/bin/" -done +#mkdir -p "$INSTALLROOT/bin" +#for bin in flathash flatc; do +# [ -e "$INSTALLROOT/bin/$bin" ] || cp -p "$bin" "$INSTALLROOT/bin/" +#done # Modulefile mkdir -p "$INSTALLROOT/etc/modulefiles" From abc22f43d3ad119777e41da3b7ac1ae525bc9fe1 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 5 Jul 2024 09:59:59 +0200 Subject: [PATCH 165/172] Improve flatbuffer recipe - Bump to the latest version - Clean up old workarounds from the recipe --- flatbuffers.sh | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/flatbuffers.sh b/flatbuffers.sh index caadaaa481..7183b0304c 100644 --- a/flatbuffers.sh +++ b/flatbuffers.sh @@ -1,5 +1,5 @@ package: flatbuffers -version: v23.5.26 +version: v24.3.25 source: https://github.com/google/flatbuffers requires: - zlib @@ -7,21 +7,15 @@ build_requires: - CMake - "GCC-Toolchain:(?!osx)" - alibuild-recipe-tools + - ninja --- -#!/bin/bash -e -cmake "$SOURCEDIR" \ - -G 'Unix Makefiles' \ - -DFLATBUFFERS_BUILD_TESTS=OFF \ - -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-unknown-warning -Wno-unknown-warning-option -Wno-error=unused-but-set-variable" -# LLVM 15 requires -Wno-error=unused-but-set-variable to compile -# flatbuffers, but GCC earlier LLVM versions don't understand this -# option, so we need -Wno-unknown-warning (for GCC) and -# -Wno-unknown-warning-option (for Clang) as well. +cmake "$SOURCEDIR" \ + -G 'Ninja' \ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" -make ${JOBS:+-j $JOBS} -make install +cmake --build . -- ${JOBS:+-j$JOBS} install # Modulefile mkdir -p "$INSTALLROOT/etc/modulefiles" -alibuild-generate-module --bin --lib > "$INSTALLROOT/etc/modulefiles/$PKGNAME" +alibuild-generate-module --bin --lib --cmake > "$INSTALLROOT/etc/modulefiles/$PKGNAME" From 637dfbc9bc5a7381821e114f8f4f5354828ae277 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 5 Jul 2024 10:02:53 +0200 Subject: [PATCH 166/172] Migrate to GCC 13 - Move to GCC 13.2.0 - Move to GDB 14.2 - Do not use GCC 7.3.0 as default, since now AliRoot it's built with its own default. - Add support for CCACHE. While disabled by default it can be enabled by passing CCACHE_DISABLE=false as environment variable. --- defaults-ali.sh | 3 - defaults-o2-epn.sh | 3 - defaults-o2.sh | 3 - gcc-toolchain.sh | 147 ++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 132 insertions(+), 24 deletions(-) diff --git a/defaults-ali.sh b/defaults-ali.sh index 9591677772..f8ade8a27c 100644 --- a/defaults-ali.sh +++ b/defaults-ali.sh @@ -24,9 +24,6 @@ overrides: - Vc - ZeroMQ - JAliEn-ROOT - GCC-Toolchain: - version: v12.2.0-alice1 - tag: v12.2.0-alice1 cgal: version: 4.12.2 fastjet: diff --git a/defaults-o2-epn.sh b/defaults-o2-epn.sh index 6af73044dd..0eb2134cd4 100644 --- a/defaults-o2-epn.sh +++ b/defaults-o2-epn.sh @@ -28,9 +28,6 @@ overrides: - Vc - ZeroMQ - JAliEn-ROOT - GCC-Toolchain: - version: v12.2.0-alice1 - tag: v12.2.0-alice1 cgal: version: 4.12.2 fastjet: diff --git a/defaults-o2.sh b/defaults-o2.sh index c438443377..4420cacacd 100644 --- a/defaults-o2.sh +++ b/defaults-o2.sh @@ -25,9 +25,6 @@ overrides: - Vc - ZeroMQ - JAliEn-ROOT - GCC-Toolchain: - version: v12.2.0-alice1 - tag: v12.2.0-alice1 cgal: version: 4.12.2 fastjet: diff --git a/gcc-toolchain.sh b/gcc-toolchain.sh index 766fb165b0..55fbdc75f8 100644 --- a/gcc-toolchain.sh +++ b/gcc-toolchain.sh @@ -1,9 +1,10 @@ package: GCC-Toolchain version: "%(tag_basename)s" -tag: v7.3.0-alice2 +tag: v13.2.0-alice1 source: https://github.com/alisw/gcc-toolchain prepend_path: "LD_LIBRARY_PATH": "$GCC_TOOLCHAIN_ROOT/lib64" + "PATH": "$GCC_TOOLCHAIN_ROOT/libexec/bin" build_requires: - "autotools:(slc6|slc7)" - yacc-like @@ -25,9 +26,12 @@ prefer_system_check: | #error "System's GCC cannot be used: we need at least ($MIN_GCC_VERSION/1e4), while we intend to go for GCC $REQUESTED_VERSION. We'll compile our own version." #endif EOF +env: + CCACHE_CONFIGPATH: "$GCC_TOOLCHAIN_ROOT/etc/ccache.conf" --- -#!/bin/bash -e - +# Fix syntax highlight +cat < test.c < build-flags.cmake <<- EOF +# Disable Java capabilities; we don't need it and on OS X might miss the +# required /System/Library/Frameworks/JavaVM.framework/Headers/jni.h. +SET(JNI_H FALSE CACHE BOOL "" FORCE) +SET(Java_JAVA_EXECUTABLE FALSE CACHE BOOL "" FORCE) +SET(Java_JAVAC_EXECUTABLE FALSE CACHE BOOL "" FORCE) + +# SL6 with GCC 4.6.1 and LTO requires -ltinfo with -lcurses for link to succeed, +# but cmake is not smart enough to find it. We do not really need ccmake anyway, +# so just disable it. +SET(BUILD_CursesDialog FALSE CACHE BOOL "" FORCE) +EOF + $SOURCEDIR/cmake/bootstrap --prefix=$BUILDDIR/bootstrap-cmake \ + --no-debugger \ + --no-qt-gui \ + --init=build-flags.cmake \ + ${JOBS:+--parallel=$JOBS} + make ${JOBS+-j $JOBS} + make install/strip + popd + + # We build ccache using our own compiler, so that we do not have issue + # with libstdc++ compatibility. + mkdir build-ccache + pushd build-ccache + $BUILDDIR/bootstrap-cmake/bin/cmake -S ../ccache \ + -DENABLE_DOCUMENTATION=OFF \ + -DENABLE_TESTING=OFF \ + -DSTATIC_LINK=ON \ + -DCMAKE_INSTALL_PREFIX="$INSTALLROOT/libexec/ccache" + make ${JOBS:+-j $JOBS} install + ln -sf ccache $INSTALLROOT/libexec/ccache/bin/gcc + ln -sf ccache $INSTALLROOT/libexec/ccache/bin/g++ + ln -sf ccache $INSTALLROOT/libexec/ccache/bin/cc + ln -sf ccache $INSTALLROOT/libexec/ccache/bin/c++ + export PATH=$INSTALLROOT/libexec/ccache/bin:$PATH + # Notice how we configure CCACHE to work, but then + # disable so that users need to export CCACHE_DISABLE=false + # to actually have it working. + mkdir -p $INSTALLROOT/libexec/ccache/etc + cat > $INSTALLROOT/libexec/ccache/etc/ccache.conf < Date: Fri, 19 Jul 2024 08:02:37 +0200 Subject: [PATCH 167/172] Do not clone .git folders content --- alien-cas.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/alien-cas.sh b/alien-cas.sh index 2ded02e9ac..222e92b156 100644 --- a/alien-cas.sh +++ b/alien-cas.sh @@ -10,7 +10,8 @@ env: #!/bin/bash -e DEST="$INSTALLROOT/globus/share/certificates" mkdir -p "$DEST" -find "$SOURCEDIR" -type d -maxdepth 1 -mindepth 1 -exec rsync -av {}/ "$DEST" \; +# Make sure we ignore .git and other hidden repositories when doing the find +find "$SOURCEDIR" -not -path '*/[@.]*' -type d -maxdepth 1 -mindepth 1 -exec rsync -av {}/ "$DEST" \; # Modulefile MODULEDIR="$INSTALLROOT/etc/modulefiles" From dc327f870e3a35e14ce16279bf8f45840bfb457f Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:34:16 +0200 Subject: [PATCH 168/172] Correct handling of RPATH for grpc and c-ares For some reason c-ares and grpc set their id to `@rpath/lib...` rather than their full path. This means that if a given dependent library has an implicit transitive dependency on it, they will not be able to find it. This happens in particular for bookkeeping which defines grpc as a private dependency, breaking downstream users. --- c-ares.sh | 10 +++++++++- grpc.sh | 11 +++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/c-ares.sh b/c-ares.sh index eebd8aab62..2ed538d557 100644 --- a/c-ares.sh +++ b/c-ares.sh @@ -14,7 +14,15 @@ incremental_recipe: | cmake $SOURCEDIR -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DCMAKE_INSTALL_LIBDIR=lib make ${JOBS:+-j$JOBS} install - +case $ARCHITECTURE in + osx*) + # Add correct rpath to dylibs on Mac as long as there is no better way to + # control rpath in the GRPC CMake + # Add rpath to all libraries in lib and change their IDs to be absolute paths. + find "$INSTALLROOT/lib" -name '*.dylib' -not -name '*ios*.dylib' \ + -exec install_name_tool -id '{}' '{}' \; + ;; +esac MODULEDIR="$INSTALLROOT/etc/modulefiles" MODULEFILE="$MODULEDIR/$PKGNAME" diff --git a/grpc.sh b/grpc.sh index f8ac16fda3..7dae542c9b 100644 --- a/grpc.sh +++ b/grpc.sh @@ -61,6 +61,17 @@ cmake $SOURCEDIR \ cmake --build . -- ${JOBS:+-j$JOBS} install +case $ARCHITECTURE in + osx*) + # Add correct rpath to dylibs on Mac as long as there is no better way to + # control rpath in the GRPC CMake + # Add rpath to all libraries in lib and change their IDs to be absolute paths. + find "$INSTALLROOT/lib" -name '*.dylib' -not -name '*ios*.dylib' \ + -exec install_name_tool -id '{}' '{}' \; + ;; +esac + + #ModuleFile mkdir -p etc/modulefiles alibuild-generate-module --bin --lib > etc/modulefiles/$PKGNAME From 879e7d3d67fe3801bc0a6aa590ef8d3cc43b8562 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:07:31 +0200 Subject: [PATCH 169/172] Enable check for wrong signed char assumptions --- o2checkcode.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/o2checkcode.sh b/o2checkcode.sh index c3fd7f17bf..2f1224be1c 100644 --- a/o2checkcode.sh +++ b/o2checkcode.sh @@ -59,6 +59,7 @@ CHECKS="${O2_CHECKER_CHECKS:--*\ ,modernize-use-override\ ,modernize-use-transparent-functors\ ,modernize-use-uncaught-exceptions\ +,bugprone-signed-char-misuse\ ,readability-braces-around-statements\ }" From db37b237fefe8727b343e6b3353eef4dbdab80ac Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 20 Aug 2024 14:10:26 +0200 Subject: [PATCH 170/172] More protections against system python There is no reason why we should have interference from system python when building python itself. --- python.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python.sh b/python.sh index aefecf281e..521a025158 100644 --- a/python.sh +++ b/python.sh @@ -18,7 +18,7 @@ env: PYTHONPATH: "$PYTHON_ROOT/lib/python/site-packages" prefer_system: "(?!slc5|ubuntu)" prefer_system_check: - python3 -c 'import sys; import sqlite3; sys.exit(1 if sys.version_info < (3, 5) else 0)' && python3 -m pip --help > /dev/null && printf '#include "pyconfig.h"' | cc -c $(python3-config --includes) -xc -o /dev/null -; if [ $? -ne 0 ]; then printf "Python, the Python development packages, and pip must be installed on your system.\nUsually those packages are called python, python-devel (or python-dev) and python-pip.\n"; exit 1; fi + python3 -c 'import sys; import sqlite3; sys.exit(1 if sys.version_info < (3, 9) else 0)' && python3 -m pip --help > /dev/null && printf '#include "pyconfig.h"' | cc -c $(python3-config --includes) -xc -o /dev/null -; if [ $? -ne 0 ]; then printf "Python, the Python development packages, and pip must be installed on your system.\nUsually those packages are called python, python-devel (or python-dev) and python-pip.\n"; exit 1; fi --- rsync -av --exclude '**/.git' $SOURCEDIR/ $BUILDDIR/ @@ -28,6 +28,8 @@ export LIBFFI_ROOT # If the python installer finds another pip, it won't install the new one export PATH=$(echo $PATH | awk -v RS=':' -v ORS=':' '!/python/ {print}' | sed 's/:$//') unset PYTHONUSERBASE +unset PYTHONHOME +unset PYTHONPATH # The only way to pass externals to Python LDFLAGS= From 4089ce10d5f99995f0f750552ca08a30dca3940f Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:09:25 +0200 Subject: [PATCH 171/172] Disable warnings as errors until we move to GCC 13 -Wno-error=dangling-reference is available only there. --- o2physics.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/o2physics.sh b/o2physics.sh index a748bfea6d..83f902378a 100644 --- a/o2physics.sh +++ b/o2physics.sh @@ -34,7 +34,7 @@ cmake "$SOURCEDIR" "-DCMAKE_INSTALL_PREFIX=$INSTALLROOT" \ ${CLANG_REVISION:+-DCLANG_EXECUTABLE="$CLANG_ROOT/bin-safe/clang"} \ ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${LIBUV_ROOT:+-DLibUV_ROOT=$LIBUV_ROOT} \ - ${ALIBUILD_O2PHYSICS_TESTS:+-DO2PHYSICS_WARNINGS_AS_ERRORS=ON} + ${ALIBUILD_O2PHYSICS_TESTS:+-DO2PHYSICS_WARNINGS_AS_ERRORS=OFF} cmake --build . -- ${JOBS+-j $JOBS} install # export compile_commands.json in (taken from o2.sh) From 1fd0d4fde606236f96d85f128bf9fa75bf6facf8 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Fri, 6 Sep 2024 09:28:22 +0200 Subject: [PATCH 172/172] Properly built catch2 library --- catch2.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 catch2.sh diff --git a/catch2.sh b/catch2.sh new file mode 100644 index 0000000000..330b34db90 --- /dev/null +++ b/catch2.sh @@ -0,0 +1,27 @@ +package: Catch2 +version: "%(tag_basename)s" +tag: v3.7.0 +source: https://github.com/catchorg/Catch2 +requires: + - "GCC-Toolchain:(?!osx)" +build_requires: + - CMake + - alibuild-recipe-tools + - ninja +prepend_path: + PKG_CONFIG_PATH $CATCH2_ROOT/share/pkgconfig +--- +#!/bin/bash -e +cmake $SOURCEDIR -GNinja -DCMAKE_INSTALL_PREFIX=$INSTALLROOT + +cmake --build . --target install + +# Modulefile +MODULEDIR="$INSTALLROOT/etc/modulefiles" +MODULEFILE="$MODULEDIR/$PKGNAME" +mkdir -p "$MODULEDIR" + +alibuild-generate-module --lib --cmake > $MODULEFILE +cat << EOF >> $MODULEFILE +prepend-path PKG_CONFIG_PATH \$PKG_ROOT/share/pkgconfig +EOF