guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [core-updates] Native build of make-boot0 fails on missing zstd


From: Janneke Nieuwenhuizen
Subject: Re: [core-updates] Native build of make-boot0 fails on missing zstd
Date: Sun, 21 Jan 2024 18:55:42 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Maxim Cournoyer writes:

Hi,

> Efraim Flashner <efraim@flashner.co.il> writes:
>
>> On Sun, Jan 21, 2024 at 10:33:37AM +0100, Janneke Nieuwenhuizen wrote:
>>> Hi!
>>> 
>>> On core-updates, running
>>> 
>>>     ./pre-inst-env guix build --system=i586-gnu -e '(@@ (gnu packages 
>>> commencement) gnu-make-boot0)'
>>> 
>>> fails for me with
>>> 
>>>     sh: zstd: command not found
>>> 
>>> See log below.  FWIW, using --system=i686-linux for example, works fine.
>
> I don't know what it'd only affect non-x86 systems, but I've noticed one
> bug in my recent "default to zstd" repack logic, which would name a xz
> tarball as .tar.zst.  Perhaps tar then try to use zstd to decompress it,
> even if it's really a xz compressed archive?

Ah, that could be...

> I have the following commit that fixes this, haven't pushed it yet (it's
> a world rebuild).
>
> modified   guix/packages.scm
> @@ -949,10 +949,7 @@ (define* (patch-and-repack source patches
>           (bzip2   (lookup-input "bzip2"))
>           (lzip    (lookup-input "lzip"))
>           (xz      (lookup-input "xz"))
> -         (zstd    (or (lookup-input "zstd")
> -                      ;; Fallback to xz in case zstd is not available, such 
> as
> -                      ;; for bootstrap packages.
> -                      xz))
> +         (zstd    (lookup-input "zstd"))
>           (patch   (lookup-input "patch"))
>           (comp    (and=> (compressor source-file-name) lookup-input))
>           (patches (map instantiate-patch patches)))
> @@ -1033,10 +1030,16 @@ (define* (patch-and-repack source patches
>                            locale (system-error-errno args)))))
>  
>              (setenv "PATH"
> -                    (string-append #+zstd "/bin"
> -                                   (if #+comp
> -                                       (string-append ":" #+comp "/bin")
> -                                       "")))
> +                    (string-join (fold (lambda (x path)
> +                                         (if (and x (not (member x path)))
> +                                             (cons x path)
> +                                             path))
> +                                       '()
> +                                       ;; Fallback to xz in case zstd is
> +                                       ;; not available, such as for
> +                                       ;; bootstrap packages.
> +                                       (list #+zstd #+xz #+comp))
> +                                 ":"))
>  
>              (setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count)))

Thanks for looking into this.  When trying

    ./pre-inst-env guix build --system=i586-gnu -e '(@@ (gnu packages 
commencement) gnu-make-boot0)'

(or for --system=riscv64-linux, ftm) with this patch, I get

    tar (child): gzip: Cannot exec: No such file or directory

(see below.  So, no longer an attempt to use zstd...

Greetings,
Janneke

--8<---------------cut here---------------start------------->8---
The following derivations will be built:
  /gnu/store/pr5r6fg3h5c8qrsl46gvvb3ip2zcz96k-make-boot0-4.4.1.drv
  /gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv
process 28163 acquired build slot '/var/guix/offload/kluit.dezyne.org:10022/0'
process 28163 acquired build slot '/var/guix/offload/localhost:10022/0'
normalized load on machine 'kluit.dezyne.org' is 0.16
building /gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv...
guix offload: sending 0 store items (0 MiB) to 'kluit.dezyne.org'...
offloading '/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv' 
to 'kluit.dezyne.org'...
offloading build of 
/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv to 
'kluit.dezyne.org'
@ build-started 
/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv - i586-gnu 
/var/log/guix/drvs/zi//rmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv.gz 
6964
failed to install 'C.UTF-8' locale: 1073741846
tar (child): gzip: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
/gnu/store/sb4x78r4d5l8833nmrml4b823irf954h-bootstrap-binaries-0/bin/tar: Child 
returned status 2
/gnu/store/sb4x78r4d5l8833nmrml4b823irf954h-bootstrap-binaries-0/bin/tar: Error 
is not recoverable: exiting now
Backtrace:
In ice-9/boot-9.scm:
 160: 10 [catch #t #<catch-closure 303300> ...]
In unknown file:
   ?: 9 [apply-smob/1 #<catch-closure 303300>]
In ice-9/boot-9.scm:
  66: 8 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 7 [eval # #]
In ice-9/boot-9.scm:
2412: 6 [save-module-excursion #<procedure 315be0 at ice-9/boot-9.scm:4084:3 
()>]
4089: 5 [#<procedure 315be0 at ice-9/boot-9.scm:4084:3 ()>]
1734: 4 [%start-stack load-stack #<procedure 316230 at ice-9/boot-9.scm:4080:10 
()>]
1739: 3 [#<procedure 31e930 ()>]
In unknown file:
   ?: 2 [primitive-load 
"/gnu/store/y0pg4vk114kir2kvf7i7p8i22vf4z8pj-make-4.4.1.tar.xz-builder"]
In ice-9/eval.scm:
 432: 1 [eval # ()]
In guix/build/utils.scm:
 816: 0 [invoke 
"/gnu/store/sb4x78r4d5l8833nmrml4b823irf954h-bootstrap-binaries-0/bin/tar" ...]

guix/build/utils.scm:816:6: In procedure invoke:
guix/build/utils.scm:816:6: Throw to key `srfi-34' with args `(#<condition 
&invoke-error [program: 
"/gnu/store/sb4x78r4d5l8833nmrml4b823irf954h-bootstrap-binaries-0/bin/tar" 
arguments: ("xvf" 
"/gnu/store/wp8pr3by5qw6f0waw05x64nchf6pcncm-make-4.4.1.tar.gz") exit-status: 2 
term-signal: #f stop-signal: #f] 61f760>)'.
builder for `/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv' 
failed with exit code 1
@ build-failed 
/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv - 1 builder 
for `/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv' failed 
with exit code 1
derivation '/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv' 
offloaded to 'kluit.dezyne.org' failed: build of 
`/gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv' failed
build of /gnu/store/zirmshsc75x1isxkfladjmqhkl04l8in-make-4.4.1.tar.xz.drv 
failed
--8<---------------cut here---------------end--------------->8---

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | AvatarĀ® https://AvatarAcademy.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]