Skip to content

Fix spack images#35

Open
iole-bolognesi wants to merge 12 commits into
v4from
fix_spack_images
Open

Fix spack images#35
iole-bolognesi wants to merge 12 commits into
v4from
fix_spack_images

Conversation

@iole-bolognesi

@iole-bolognesi iole-bolognesi commented Jun 24, 2026

Copy link
Copy Markdown

Fixes issue #34

@iole-bolognesi iole-bolognesi marked this pull request as ready for review June 26, 2026 06:34
ARG REGISTRY=ghcr.io/pdidev/test_env

FROM ghcr.io/pdidev/test_env/base:${IMAGE_TAG}
FROM ${REGISTRY}/base:${IMAGE_TAG}

@jmorice91 jmorice91 Jun 29, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we want to keep this registry? It is relevant for example if we want to test in our fork.
@jbigot @benoitmartin88

@jmorice91 jmorice91 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

some comments

Comment thread spack/3-baselibs/clang.lst Outdated
@@ -1 +1 @@
llvm+llvm_dylib+link_llvm_dylib~lldb
llvm+llvm_dylib+link_llvm_dylib~lldb+gold

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just to be clear, is it Gold itself that is deprecated, and not its Spack.
Why is this variant needed here ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

See failure

Doxygen is built with link time optimization (LTO). Building with link time optimization requires cooperation from the system linker. LTO support on Linux systems is available via the gold linker which has a plugin interface. The LLVM gold plugin is an implementation of this interface.

To avoid using the deprecated approach, it seems that the alternative is to use LLVM native linker (LLD). I am currently testing this approach but I still did not manage to make it work.

Comment thread spack/3-baselibs/Dockerfile Outdated


COPY ${COMPILER}.lst compilerpkg.lst
RUN <<EORUN

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

May quote all EORUN of this PR (also relevant for files not modified by this PR)

Suggested change
RUN <<EORUN
RUN <<'EORUN'

@jmorice91 jmorice91 Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

if we use quote, the ${expression}, inside the here document, will not be evaluated.

@JAuriac JAuriac Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

With the quotes, Docker does not expand the expressions, but the shell still does
This is why we also have COPY <<'EOCOPY' spack.yaml in this file
From what i understand, we can quote all EORUN/EOCOPY here (as it would be more practical to identify a potential issue in the future with a unified syntax)

Comment thread spack/3-baselibs/Dockerfile
Comment thread spack/3-baselibs/Dockerfile
Comment thread spack/3-baselibs/Dockerfile
Comment thread spack/3-baselibs/Dockerfile
Comment thread spack/3-baselibs/Dockerfile
Comment thread spack/3-baselibs/Dockerfile
Comment thread spack/3-baselibs/Dockerfile Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spack images failing with latest version of spack

3 participants