Source: systemd
Version: 256.6-1
Tags: patch upstream
Forwarded: https://github.com/systemd/systemd/pull/34589
X-Debbugs-Cc: debian-cr...@lists.debian.org

Hi,

I tried cross building systemd (stageless) again and it does not work.
The immediate cause is failure to satisfy Build-Depends and the
problematic dependency is clang as it depends on binutils. Intuition is
that we want to run clang and since we pass a -target option we really
want the native one here. Thus I tried annotating clang using :native.
Next up, meson fails finding bpftool, which got installed for the host
architecture and presumably is needed for the build architecture. It is
not clear to me whether marking it Multi-Arch: foreign would be correct
and seek input from others (hello d-cross@l.d.o). Meanwhile, one can
work around this by also annotating it :native.

Then, meson actually starts building stuff until it runs clang where it
fails finding asm/types.h. This is due to the relevant -isystem being
skipped when is_cross_compiling. I forwarded this part upstream as
https://github.com/systemd/systemd/pull/34589. Technically, this is
unfixable as clang does not get us the information that we'd need here,
so I only fix it when using gcc or doing a native build.

Assuming that the upstream PR works out, that still leaves us with clang
and bpftool. I think the former reasonably need to be annotated :native
as there is no chance of clang becoming M-A:foreign. However the latter
needs someone who knows bpftool.

Helmut

Reply via email to