[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