Subject: bug#43081: diffutils always referrers to the native coreutils

From: Ludovic Courtès <[email-masked]>
Date: Fri, 28 Aug 2020 16:27:11 +0200

Hi!

Mathieu Othacehe <[email-masked]> skribis:

> The "diff" executable from diffutils stores a reference to the native,
> canonical "pr" from coreutils. This is bad for two reasons:
>
> * It makes the Guix System closure bigger by dragging the canonical
>   coreutils.
>
> * The cross-compiled diffutils drags the native coreutils to its
>   closure, see:

[...]

> I hoped to fix it with the naive patch attached, but it fails for
> obscure reasons while building acl:
>
> FAIL: test/malformed-restore
> ============================
>
> [4] $ cp "/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/test/malformed-restore-double-owner.acl" tmp.acl -- ok
> [5] $ sed -i "s/USER/30001/g" tmp.acl -- failed
> ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/libtestlookup.so' from LD_PRELOAD cannot be preloaded: ignored. != ~
> [6] $ sed -i "s/GROUP/30000/g" tmp.acl -- failed
> ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/libtestlookup.so' from LD_PRELOAD cannot be preloaded: ignored. != ~

Could it be that there are two different libcs involved?

Do you know which acl is fixing (commencement.scm vs. acl.scm)?

Thanks,
Ludo’.