cp2k icon indicating copy to clipboard operation
cp2k copied to clipboard

Bump Spack and DLA-Future in CI

Open RMeli opened this issue 2 years ago • 2 comments

Bump Spack to 2721b4c10d27afde281ea0cdb0480a7343ce0863 and DLA-Future to [email protected].

RMeli avatar Jan 25 '24 13:01 RMeli

What's the state of this PR? Anything I could do to help?

oschuett avatar Feb 12 '24 16:02 oschuett

Ah. I did not realize this was failing. I'll look into it.

RMeli avatar Feb 13 '24 15:02 RMeli

How should we proceed with this PR?

oschuett avatar Mar 21 '24 10:03 oschuett

Sorry, I am working on lifting DLA-Future's Fortran interface out of CP2K into a standalone package so that we can have a slimmer integration and also add the standard and generalised eigensolver for complex types.

I was hoping to tackle this PR with the new integration, however it's taking a bit longer than planned. I'll try to bump the Spack version again and then look more closely into it if the issue persists.

RMeli avatar Mar 21 '24 10:03 RMeli

This is more annoying than I thought... I'll work locally with the Docker container and push a solution when it's ready.

RMeli avatar Mar 21 '24 14:03 RMeli

I confirmed my suspicion that the problem appears after the introduction of the gcc-runtime package. On install, this packages copies the binaries internally, so the warning is spurious.

I think I never saw this locally because I'm using spack build-env instead of activating an environment with the default view. It is still not clear to me how to best fix this within the constraints discussed in https://github.com/cp2k/cp2k/pull/3149 and https://github.com/cp2k/cp2k/pull/3154. I'll have another look at this next week.

In the meantime, an ugly workaround is to remove the libgomp.so copy made by gcc-runtime.

RMeli avatar Mar 22 '24 16:03 RMeli

Our local Spack aficionado @albestro helped me to investigate this issue, and he suggested to exclude gcc-runtime from the environment view. This prevents libgomp.so to be added to the view and therefore CMake only finds the original library in /usr/lib/gcc/x86_64-linux-gnu/11.

RMeli avatar Mar 27 '24 21:03 RMeli

It seems odd that Spack still builds its own gcc-runtime after it picked up the external gcc. In any case, I'm glad you found a good workaround.

oschuett avatar Mar 28 '24 13:03 oschuett

It seems odd that Spack still builds its own gcc-runtime after it picked up the external gcc. In any case, I'm glad you found a good workaround.

Just for clarity, spack is not "building" a gcc-runtime, indeed it is copying the compiler libraries needed for runtime from the compiler you are using. This is useful in case the compiler is removed, but whatever has been built will still work correctly.

The warning you get in the CMake is a legit warning, because it is not checking that those libraries are actually the same, but we know they are.

albestro avatar Mar 28 '24 13:03 albestro