Subject: bug#44000: Guile-Git cross-compiled to i586-pc-gnu gets bytestructures wrong

From: Taylan Kammer <[email-masked]>
Date: Sat, 17 Oct 2020 19:44:30 +0200

Taylan Kammer <[email-masked]> writes:

> On 15.10.2020 09:42, Ludovic Courtès wrote:
>> Ludovic Courtès <[email-masked]> skribis:
>> 
>>> The problem is that the ‘cond-expand’ used to define ‘arch32bit?’ is a
>>> expansion-time thing when (cross-)building Bytestructures itself, so
>>> it’s incorrect from cross-building from 64-bit to 32-bit.
>>>
>>> I believe that changing it to:
>>>
>>>   (define arch32bit? (memq data-model '(ilp32 lp32)))
>>>
>>> would fix it because then the test would happen at run time.
>> 
>> I confirm that the attached patch for Bytestructures solves the problem
>> (running ‘guix pull’ in my childhurd :-)).
>> 
>> Let’s see whether it needs to be adapted for inclusion upstream.
>
> Hi Ludo,
>
> Thanks for finding finding this bug and for the patch.
>
> I'll try to include a portable version of the fix ASAP.  I should have
> time for it tomorrow.

Hi again,

Could you please test whether bytestructures 1.0.8 fixes the issue?

Thank you!

- Taylan