Subject: bug#39531: guix pull on aarch64-linux glibc derivation has incorrect output

From: Christopher Baines <[email-masked]>
Date: Mon, 20 Apr 2020 08:17:11 +0100

Ludovic Courtès <[email-masked]> writes:

> Christopher Baines <[email-masked]> skribis:
>
>> When attempting to guix pull using the aarch64-linux system, I'm seeing
>> some issues with derivation outputs. I tried with a newer and older
>> commit, and the result is the same.
>>
>>
>> → guix pull --commit=27b09f3ab11a30821a5ce0b071aac1bc6156497d --system=aarch64-linux --profile=/tmp/testprofile2
>> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>> Building from this channel:
>>   guix      https://git.savannah.gnu.org/git/guix.git	27b09f3
>> Computing Guix derivation for 'aarch64-linux'... -
>> guix pull: error: derivation `/gnu/store/800ky8qa4az7yx36gsg9ak6bih3530qm-glibc-2.29.drv' has incorrect output `/gnu/store/8v34v81q86klja9rihaixkypcml5ad5j-glibc-2.29-debug', should be `/gnu/store/w3iq60ias1qlrjigbj75ssda09hwg21i-glibc-2.29-debug'
>
> The problem here is that we’re building the trampoline,
> “compute-guix-derivation”, for AArch64.  It builds if substitutes are
> available (likely) and fails to build otherwise.  And then we try to
> execute it locally, and since your machine is not AArch64, it fails.
>
> The first patch attached does what I thought was all it would take to
> fix it.  But then I realized that the second patch is needed so that
> ‘make-config.scm’ uses a Guile for the right system, same for
> “module-import.drv” and so on.
>
> Together, these two patches solve the problem (not retroactively
> though), but we need to check the implications of changing the default
> value of #:guile-for-build.

Hey,

Thanks for investigating :) I completely forget why I encountered this,
but it was probably around getting the channel instance derivations in
to the Guix Data Service, but I think I got that working, so I guess I
somehow avoided this issue.

Thanks,

Chris