Subject: bug#49113: aarch64-linux-gnu cross-compiler fails to build [core-updates]

From: Ludovic Courtès <[email-masked]>
Date: Sat, 03 Jul 2021 18:12:46 +0200

Hi,

Maxime Devos <[email-masked]> skribis:

> aarch64-linux-gnu-ld: skipping incompatible /gnu/store/31pavw3yzfck5sql6rjv92ahi8x9dhaj-glibc-cross-aarch64-linux-gnu-2.33/lib/libc.so when searching for -lc
> [ previous line 2 times repeated ]
> aarch64-linux-gnu-ld: cannot find -lc
> aarch64-linux-gnu-ld: skipping incompatible /gnu/store/31pavw3yzfck5sql6rjv92ahi8x9dhaj-glibc-cross-aarch64-linux-gnu-2.33/lib/libc.so when searching for -lc
> [ previous line 2 times repeated ]
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:985: libgcc_s.so] Error 1

As discussed on IRC, the problem seems to be that, when cross-compiling,
the ‘OUTPUT_FORMAT’ bit in libc.so is wrong (“elf64-little” instead of
“elf64-littleaarch64”).  This, in turn, seems to be due to a regression
in how glibc’s build machinery computes that value, which is fixed by
this patch:

  https://sourceware.org/pipermail/libc-alpha/2021-July/128333.html

I haven’t had feedback from upstream yet but I’ll apply it soonish in
Guix as it does the job.

Thanks,
Ludo’.