GNU bug report logs - #43629
Cross-compiled guile-lzlib unusable, causing ‘guix substitute’ to crash on GNU/Hurd

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Sat, 26 Sep 2020 09:11:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 43629 in the body.
You can then email your comments to 43629 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#43629; Package guix. (Sat, 26 Sep 2020 09:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludo <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 26 Sep 2020 09:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: <bug-guix <at> gnu.org>
Subject: Cross-compiled guile-lzlib unusable, causing ‘guix substitute’ to crash on GNU/Hurd
Date: Sat, 26 Sep 2020 11:09:57 +0200
Seen on i586-gnu (cross-compiled childhurd):

--8<---------------cut here---------------start------------->8---
root <at> childhurd ~# /gnu/store/*-guile-3.0.4/bin/guile -L /run/current-system/profile/share/guile/site/3.0/ -C /run/current-system/profile/lib/guile/3.0/site-ccache/
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@(guile-user)> ,use(guix scripts substitute)
scheme@(guile-user)>  (guix-substitute "--substitute" "/gnu/store/vq7zyb4hmlrafflmrcjbqccxp4dsx0s3-bash" "/tmp/t")

sha256:1as8649aqaibahhhrvkj10ci8shpi4hq5n7gnik8rhhy0dc1jarg
Downloading http://ci.guix.gnu.org/nar/lzip/vq7zyb4hmlrafflmrcjbqccxp4dsx0s3-bash...
 bash  717KiB                      +nan.0TiB/s 00:00 [                  ]   0.0%ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Wrong type to apply: #f

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,bt
In ice-9/boot-9.scm:
  1669:16  0 (raise-exception _ #:continuable? _)
scheme@(guile-user) [1]> ,q
--8<---------------cut here---------------end--------------->8---

Trick to get a proper backtrace, I added a breakpoint on
‘raise-exception’:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user) [1]> ,bt
In ice-9/boot-9.scm:
  1731:15  9 (with-exception-handler #<procedure 38e1cc0 at ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ #:unwind-for-type _)
  1736:10  8 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
  1731:15  7 (with-exception-handler #<procedure 38e1ca8 at ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ #:unwind-for-type _)
In guix/scripts/substitute.scm:
  1162:10  6 (_)
  1008:19  5 (process-substitution _ "/tmp/t" #:cache-urls _ #:acl _ #:print-build-trace? _)
In guix/utils.scm:
   212:12  4 (decompressed-port _ _)
In lzlib.scm:
    589:2  3 (make-lzip-input-port #<input: string 5661038>)
   287:25  2 (_)
   287:25  1 (_)
In ice-9/boot-9.scm:
   1615:4  0 (raise-exception #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong type to apply: ~S"> #<&irritants irritants: (#f)> #<&exc?>)
--8<---------------cut here---------------end--------------->8---

This is because under the hood liblz.so could not be loaded (but the
actual error is silently swallowed):

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,m(lzlib)
scheme@(lzlib)> (lzlib-procedure int "LZ_decompress_open" '())
$1 = #f
scheme@(lzlib)> %liblz 
$2 = "liblz"
scheme@(lzlib)> (dynamic-link %liblz)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
In procedure dynamic-link: file: "liblz", message: "file not found"

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(lzlib) [1]> ,q
--8<---------------cut here---------------end--------------->8---

Compare with a native build of guile-lzlib on GNU/Linux:

--8<---------------cut here---------------start------------->8---
scheme@(lzlib)> %liblz
$2 = "/gnu/store/jqr5bz89gfwhxcndnhq333dyclvkq7ws-lzlib-1.11/lib/liblz"
--8<---------------cut here---------------end--------------->8---

Indeed, the cross-compilation build log shows:

--8<---------------cut here---------------start------------->8---
checking dependency style of i586-pc-gnu-gcc... none
checking lzlib's file name... 
--8<---------------cut here---------------end--------------->8---

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#43629; Package guix. (Sat, 26 Sep 2020 09:16:02 GMT) Full text and rfc822 format available.

Message #8 received at 43629 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 43629 <at> debbugs.gnu.org
Subject: Re: bug#43629: Cross-compiled guile-lzlib unusable, causing
 ‘guix substitute’ to crash on GNU/Hurd
Date: Sat, 26 Sep 2020 11:15:05 +0200
Hey Ludo,

> checking dependency style of i586-pc-gnu-gcc... none
> checking lzlib's file name... 

Oh, I guess the same goes for guile-zlib and all cross-compilation
targets. I'll have a look later on.

Thanks,

Mathieu
-- 
https://othacehe.org




Information forwarded to bug-guix <at> gnu.org:
bug#43629; Package guix. (Sun, 27 Sep 2020 21:39:02 GMT) Full text and rfc822 format available.

Message #11 received at 43629 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 43629 <at> debbugs.gnu.org
Subject: Re: bug#43629: Cross-compiled guile-lzlib unusable, causing
 ‘guix substitute’ to crash on GNU/Hurd
Date: Sun, 27 Sep 2020 23:38:35 +0200
Hi Mathieu,

Mathieu Othacehe <othacehe <at> gnu.org> skribis:

>> checking dependency style of i586-pc-gnu-gcc... none
>> checking lzlib's file name... 
>
> Oh, I guess the same goes for guile-zlib and all cross-compilation
> targets. I'll have a look later on.

Fixed in Guile-lzlib here:

  https://notabug.org/guile-lzlib/guile-lzlib/commit/82576e34b4870b8977e131a40831219f8c1ea521

Guile-zlib doesn’t have this problem because it uses pkg-config to
determine LIBZ_LIBDIR.

When you feel like it, we can have a .2 release of Guile-lzlib with this
fix.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#43629; Package guix. (Mon, 28 Sep 2020 09:41:02 GMT) Full text and rfc822 format available.

Message #14 received at 43629 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 43629 <at> debbugs.gnu.org
Subject: Re: bug#43629: Cross-compiled guile-lzlib unusable, causing
 ‘guix substitute’ to crash on GNU/Hurd
Date: Mon, 28 Sep 2020 11:40:40 +0200
Hello,

> When you feel like it, we can have a .2 release of Guile-lzlib with this
> fix.

Done with af56f60ef0394b35ab7926d10a4f825c2b1245f6.

Thanks,

Mathieu




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 28 Sep 2020 19:59:02 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludo <at> gnu.org>:
bug acknowledged by developer. (Mon, 28 Sep 2020 19:59:02 GMT) Full text and rfc822 format available.

Message #19 received at 43629-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 43629-done <at> debbugs.gnu.org
Subject: Re: bug#43629: Cross-compiled guile-lzlib unusable, causing
 ‘guix substitute’ to crash on GNU/Hurd
Date: Mon, 28 Sep 2020 21:58:35 +0200
Hi,

Mathieu Othacehe <othacehe <at> gnu.org> skribis:

>> When you feel like it, we can have a .2 release of Guile-lzlib with this
>> fix.
>
> Done with af56f60ef0394b35ab7926d10a4f825c2b1245f6.

Woohoo, thank you!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 27 Oct 2020 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 291 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.