Skip to content

Conversation

franzpoeschel
Copy link
Contributor

@franzpoeschel franzpoeschel commented Sep 9, 2025

  • Updates Spack to version 1.0.1 for the tooling runs
  • Updates the tooling runs to Ubuntu 24.04 with clang-19
  • Updates the Spack config files to >= v.1.0.0 format
  • Applies some of the new hints found by clang-tidy

@franzpoeschel franzpoeschel force-pushed the clang-tidy-sanitizer-ubuntu-24.04 branch from f833106 to 58fbcad Compare September 11, 2025 08:18
@franzpoeschel franzpoeschel force-pushed the clang-tidy-sanitizer-ubuntu-24.04 branch from 58fbcad to 1d41d46 Compare September 11, 2025 08:23
Copy link
Contributor Author

@franzpoeschel franzpoeschel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two notes below for review @ax3l


mirrors:
E4S: https://cache.e4s.io
spack-public: https://mirror.spack.io
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check the change of mirror URL, cache.e4s.io is outdated

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, perfect! :)

share/openPMD/download_samples.sh build
export LDFLAGS="${LDFLAGS} -fsanitize=address,undefined -shared-libsan"
export CXXFLAGS="${CXXFLAGS} -fsanitize=address,undefined -shared-libsan"
export CXXFLAGS="${CXXFLAGS} -fsanitize=address,undefined -shared-libsan -DOMPI_SKIP_MPICXX"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check -DOMPI_SKIP_MPICXX. For some reason, this run pulls in the C++ bindings of MPI and then fails. This can be avoided with this preprocessor define, but there might be a better solution. I see that we have some finicky config in CMakeLists.txt on whether we link with MPI::MPI_C or MPI::MPI_CXX. Changing one to the other made no difference in my tests.

Copy link
Member

@ax3l ax3l Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found in the past that surprisingly, the C API of MPI sometimes depends on the (outdated) C++ bindings (e.g., BullMPI, which is an OpenMPI variant)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a CMake option MPI_CXX_SKIP_MPICXX

Add some definitions that will disable the MPI-2 C++ bindings. Currently supported are MPICH, Open MPI, Platform MPI and derivatives thereof, for example MVAPICH or Intel MPI.

Let's add that! :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will do that in a follow-up PR, so we can patch it out if it causes issues after all.

@franzpoeschel franzpoeschel requested a review from ax3l September 11, 2025 10:54
@ax3l ax3l self-assigned this Sep 16, 2025
Copy link
Member

@ax3l ax3l left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, splendid! 🚀 ✨

@ax3l ax3l merged commit efb4f83 into openPMD:dev Sep 16, 2025
30 checks passed
@ax3l ax3l mentioned this pull request Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants