diff --git a/CMakeLists.txt b/CMakeLists.txt index f5209e0d210..601264badc0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -290,8 +290,12 @@ if(ACTS_SETUP_BOOST) endif() if(Boost_VERSION VERSION_EQUAL "1.85.0") + set(_boost_version_severity WARNING) + if(ACTS_BUILD_EXAMPLES) + set(_boost_version_severity FATAL_ERROR) + endif() message( - WARNING + ${_boost_version_severity} "Boost 1.85.0 is known to be broken (https://github.com/boostorg/container/issues/273). Please use a different version." ) endif() diff --git a/Tests/UnitTests/Core/Surfaces/SurfaceBoundsTests.cpp b/Tests/UnitTests/Core/Surfaces/SurfaceBoundsTests.cpp index e150e9a64c9..470512383a0 100644 --- a/Tests/UnitTests/Core/Surfaces/SurfaceBoundsTests.cpp +++ b/Tests/UnitTests/Core/Surfaces/SurfaceBoundsTests.cpp @@ -27,13 +27,15 @@ class SurfaceBoundsStub : public SurfaceBounds { std::iota(m_values.begin(), m_values.end(), 0); } -#if defined(__GNUC__) && __GNUC__ == 13 && !defined(__clang__) +#if defined(__GNUC__) && (__GNUC__ == 13 || __GNUC__ == 14) && \ + !defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Warray-bounds" #pragma GCC diagnostic ignored "-Wstringop-overflow" #endif SurfaceBoundsStub(const SurfaceBoundsStub& other) = default; -#if defined(__GNUC__) && __GNUC__ == 13 && !defined(__clang__) +#if defined(__GNUC__) && (__GNUC__ == 13 || __GNUC__ == 14) && \ + !defined(__clang__) #pragma GCC diagnostic pop #endif diff --git a/cmake/setup_withdeps.sh.in b/cmake/setup_withdeps.sh.in index b4a17641134..ce1dc3506e7 100644 --- a/cmake/setup_withdeps.sh.in +++ b/cmake/setup_withdeps.sh.in @@ -51,6 +51,9 @@ if [[ -d "@Geant4_DIR@" ]]; then fi if [[ -d "@DD4hep_DIR@" ]]; then . @DD4hep_INCLUDE_DIRS@/../bin/thisdd4hep.sh + # Without this, DD4hep's Xerces-C XML parsing fails with: + # > Could not load a transcoding service + export LC_ALL=C fi if [[ -d "@podio_DIR@" ]]; then export LD_LIBRARY_PATH="@podio_LIBRARY_DIR@:${LD_LIBRARY_PATH}"