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

From: Ludovic Courtès <[email-masked]>
Date: Mon, 16 Nov 2020 17:10:37 +0100

Hi Taylan,

Apologies for the delay, it seems I hadn’t noticed your reply.

Taylan Kammer <[email-masked]> skribis:

> Yes, you're right.  I've made another release (1.0.9), where I use
>
>   (environment '(guile) '(bytestructures guile numeric-data-model))
>
> for the 'base-environment' binding in case we're running on Guile.
>
> It now gives me correct results locally (woe on me for not having
> properly tested the previous one) so I think it should definitely work
> when cross-compiling too, since the 'eval' is sure to be executed at
> run-time and not compile-time...

1.0.9 seems to help my rather involved use case (Guix cross-compiled to
GNU/Hurd from x86_64-linux, then running ‘guix pull’, which depends on
Guile-Git, which uses Bytestructures) but it still eventually crashes:

--8<---------------cut here---------------start------------->8---
ludo@childhurd ~$ /gnu/store/mxi1za8gdq77438ywgzdzy2zywb9nk76-guix-1.2.0rc1-1.3ba6ffd/bin/guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
receiving objects  25% [#############                                         ]Illegal instruction
--8<---------------cut here---------------end--------------->8---

The problem may well be elsewhere though.

However, at the REPL I can no longer access the ‘numeric’ module:

--8<---------------cut here---------------start------------->8---
ludo@childhurd ~$ /gnu/store/mxi1za8gdq77438ywgzdzy2zywb9nk76-guix-1.2.0rc1-1.3ba6ffd/bin/guix repl
GNU Guile 3.0.4
Copyright (C) 1995-2020 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guix-user)> ,m(bytestructures body numeric)
While executing meta-command:
error: environment: unbound variable
scheme@(guix-user)> (@@ (bytestructures body numeric) arch-32bit?)
While compiling expression:
error: environment: unbound variable
--8<---------------cut here---------------end--------------->8---

Thoughts?

Thanks,
Ludo’.