[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65456: [PATCH 0/2] Split guix build into more steps for 32bit hosts.
From: |
Ludovic Courtès |
Subject: |
bug#65456: [PATCH 0/2] Split guix build into more steps for 32bit hosts. |
Date: |
Tue, 22 Aug 2023 23:51:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi,
Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
> Similar to the Makefile.am change, this breaks-up packages into 26 chunks
> when building on 32bit. Also force garbage collection.
>
> * guix/self.scm (compiled-modules)[process-directory/32bit]: New inner define.
> Use it when building on a "i586" or "i686" cpu.
.go files of a Guix built with this new (guix self) would not be found:
--8<---------------cut here---------------start------------->8---
newfstatat(AT_FDCWD,
"/gnu/store/pm43nabwng5rm8irmfhw2wk39hip8xr6-guix-module-union/share/guile/site/3.0/guix/ui.scm",
{st_mode=S_IFREG|0444, st_size=95284, ...}, 0) = 0
newfstatat(AT_FDCWD,
"/gnu/store/pm43nabwng5rm8irmfhw2wk39hip8xr6-guix-module-union/lib/guile/3.0/site-ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/guile/3.0/ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/guile/3.0/ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/guile/3.0/site-ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/lib/guile/3.0/site-ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/home/ludo/.guix-home/profile/lib/guile/3.0/site-ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/home/ludo/.guix-home/profile/lib/guile/3.0/site-ccache/guix/ui.go",
0x7ffc4bf07640, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/run/current-system/profile/lib/guile/3.0/site-ccache/guix/ui.go",
{st_mode=S_IFREG|0444, st_size=530053, ...}, 0) = 0
--8<---------------cut here---------------end--------------->8---
In fact, guix/*.go is entirely missing, it seems:
$ --8<---------------cut here---------------start------------->8---
ls
/gnu/store/pm43nabwng5rm8irmfhw2wk39hip8xr6-guix-module-union/lib/guile/3.0/site-ccache/guix
ls: cannot access
'/gnu/store/pm43nabwng5rm8irmfhw2wk39hip8xr6-guix-module-union/lib/guile/3.0/site-ccache/guix':
No such file or directory
$ ls
/gnu/store/pm43nabwng5rm8irmfhw2wk39hip8xr6-guix-module-union/lib/guile/3.0/site-ccache/gnu
packages/
--8<---------------cut here---------------end--------------->8---
With the patch, without the patch:
--8<---------------cut here---------------start------------->8---
$ find -L /gnu/store/pm43nabwng5rm8irmfhw2wk39hip8xr6-guix-module-union -name
\*.go | wc -l
719
$ find -L /gnu/store/4dm864f7iif1vg9sz355gdqkgb7air98-guix-module-union -name
\*.go | wc -l
1188
--8<---------------cut here---------------end--------------->8---
The problem would then manifest like this:
--8<---------------cut here---------------start------------->8---
$ /gnu/store/57x6wrf78147lif1ss0ck2z3a0323b9l-guix-20230822.21/bin/guix build
hello
error: license:arphic-1999: unbound variable
hint: Did you forget a `use-modules' form?
error: googletest: unbound variable
hint: Did you forget a `use-modules' form?
[…]
Throw to key `unbound-variable' with args `("resolve-interface" "no binding
`~A' in module ~A" (shared-mime-info (gnu packages gnome)) #f)'.
Backtrace:
In guix/store.scm:
659:37 19 (thunk)
1298:8 18 (call-with-build-handler #<procedure 7f82c427ac60 at
guix/ui.scm:1196:2 (continu…> …)
In guix/scripts/build.scm:
584:2 17 (_)
In srfi/srfi-1.scm:
673:15 16 (append-map _ _ . _)
586:17 15 (map1 ((argument . "hello") (build-mode . 0) (graft? . #t)
(substitutes? . #t) # …))
In guix/scripts/build.scm:
604:31 14 (_ _)
In gnu/packages.scm:
485:2 13 (%find-package "hello" "hello" #f)
365:6 12 (find-best-packages-by-name _ _)
295:56 11 (_ "hello" _)
In unknown file:
10 (force #<promise #<procedure 7f82c6c5eee0 at
gnu/packages.scm:285:18 ()>>)
In gnu/packages.scm:
242:33 9 (fold-packages #<procedure 7f82c21125f0 at gnu/packages.scm:286:35
(p r)> #<vlis…> …)
In guix/discovery.scm:
158:11 8 (all-modules _ #:warn _)
In srfi/srfi-1.scm:
460:18 7 (fold #<procedure 7f82c6cc7f00 at guix/discovery.scm:142:8 (spec
result)> _ ((. #)))
In guix/discovery.scm:
148:19 6 (_ _ ())
115:5 5 (scheme-modules _ _ #:warn _)
In srfi/srfi-1.scm:
691:23 4 (filter-map #<procedure 7f82c6cc7de0 at guix/discovery.scm:115:16
(file)> _ . _)
In guix/discovery.scm:
123:24 3 (_ . _)
In guix/ui.scm:
343:2 2 (report-unbound-variable-error _ #:frame _)
In ice-9/boot-9.scm:
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern"
(unbound-variable "resolve-interface" "no binding `~A' in module ~A"
(shared-mime-info (gnu packages gnome)) #f))'.
--8<---------------cut here---------------end--------------->8---
This is because an old (guix licenses) module would be loaded.
I’m reverting for now.
Note that (guix self) is very sensitive, so we should test it
thoroughly. Here I used ‘make as-derivation’ and ran the resulting
‘guix’ command.
Ludo’.
bug#65456: [PATCH v2 1/2] build: Build gnu/packages/*.go in five steps., Janneke Nieuwenhuizen, 2023/08/22