guile-fibers does not cross-compile

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Mathieu Othacehe
Severity
important
M
M
Mathieu Othacehe wrote on 8 Apr 2022 17:37
(address . bug-guix@gnu.org)
87r167wpqp.fsf@gnu.org
Hello,

guile-fibers does not cross-compile, the error is the following:

Toggle snippet (4 lines)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure dlopen: file "/tmp/guix-build-guile-fibers-1.1.0.drv-0/fibers-1.1.0/.libs/epoll.so", message "/tmp/guix-build-guile-fibers-1.1.0.drv-0/fibers-1.1.0/.libs/epoll.so: wrong ELF class: ELFCLASS32"

It breaks the build of novena, pine64 and pinebook-pro images, see:

Thanks,

Mathieu
L
L
Ludovic Courtès wrote on 13 Apr 2022 08:45
control message for bug #54793
(address . control@debbugs.gnu.org)
87ilrdbhxm.fsf@gnu.org
severity 54793 important
quit
L
L
Ludovic Courtès wrote on 14 Apr 2022 14:50
Re: bug#54793: guile-fibers does not cross-compile
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 54793-done@debbugs.gnu.org)
874k2vakx2.fsf@gnu.org
Hi!

Mathieu Othacehe <othacehe@gnu.org> skribis:

Toggle quote (5 lines)
> guile-fibers does not cross-compile, the error is the following:
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure dlopen: file "/tmp/guix-build-guile-fibers-1.1.0.drv-0/fibers-1.1.0/.libs/epoll.so", message "/tmp/guix-build-guile-fibers-1.1.0.drv-0/fibers-1.1.0/.libs/epoll.so: wrong ELF class: ELFCLASS32"

I pushed cross-compilation support upstream:

c4756b9 epoll: Do not refer to 'epoll.so'-provided variables at expansion time.
393ecc6 build: Pass '--target' and '-L' to 'guild compile' when cross-compiling.
e5fa008 build: Do not load 'epoll.so' during cross-compilation.

… and an equivalent fix in Guix:

1f82602153 gnu: guile-fibers@1.1: Support cross-compilation.

Thanks!

Ludo’.
Closed
?