bug#65460: ghc/ghci are broken

2023-08-22 Thread paren--- via Bug reports for GNU Guix
Jonas via Bug reports for GNU Guix  writes:
> And compiling a hello-world program with ghc gives me:
>
> [1 of 1] Compiling Main ( hello.hs, hello.o )
>
> : error:
>      Warning: Couldn't figure out C compiler information!
>   Make sure you're using GNU gcc, or clang

At the risk of stating an obvious thing that you've probably already
tried; is `gcc-toolchain` available in the environment?

-- (





bug#65461: Cannot compile any Rust projects

2023-08-22 Thread Hilton Chain via Bug reports for GNU Guix
Hi Jonas,

On Wed, 23 Aug 2023 06:59:14 +0800,
Jonas via Bug reports for GNU Guix wrote:
>
[...]
>    = note: ld: cannot find -lrt: No such file or directory
>    collect2: error: ld returned 1 exit status

librt has been integrated into libc since glibc 2.34.

gcc-toolchain:static should provide an empty library to satisfy the
linker:
--8<---cut here---start->8---
$ guix shell gcc-toolchain:static -- sh -c 'ls $GUIX_ENVIRONMENT/lib/librt*'
/gnu/store/8fv6xh7nyyb4hsi7b7p2s2ihpsj0lvs9-profile/lib/librt.a
--8<---cut here---end--->8---

Thanks





bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that

2023-08-22 Thread Csepp


Maxime Devos  writes:

> [[PGP Signed Part:Undecided]]
> For example, naev used to work just fine, yet apparently it doesn't
> anymore: https://issues.guix.gnu.org/65390.
>
> Given that Guix has ci.guix.gnu.org, I would expect such new problems
> to be detected and resolved early, and it was detected by
> ci.guix.gnu.org, yet going by issues.guix.gnu.org it was never even
> investigated.
>
> (Yes, there is a delay, but that doesn't matter at all, as there's
> this dashboard .)
>
> Do people really need to report 33% of all jobs
> (https://ci.guix.gnu.org/eval/668365/dashboard) before those failures
> are taken seriously, instead of the ‘there don't seem to be that much
> more build failures from the core-updates/... merge, let's solve them
> later (i.e., never)’ that seems to be  status quo?
>
> Best regards,
> Maxime Devos
>
> [2. OpenPGP public key --- application/pgp-keys; 
> OpenPGP_0x49E3EE22191725EE.asc]...
>
> [[End of PGP Signed Part]]

I tried signing up to the CI mailing list and it immediately became
overwhelming.
Also the CI UI could use some improvements.  I'm pretty sure I've
mentioned this before, but there is no easy way to find out which inputs
I need to fix to make a dependency failure disappear.  I think everyone
has better things to do than perform a linear search by hand.
So I rely on my own installations for detecting errors, that way I at
least know that I don't get flooded with notifications for packages I
know nothing about.
One possible improvement I have been thinking about is making it easy
for users to filter CI output to the packages in their profile closure,
so for example they would get advance notice of any broken packages
*before* attempting to install them.
Teams could also have their own filters.





bug#65461: Cannot compile any Rust projects

2023-08-22 Thread Jonas via Bug reports for GNU Guix
Hi! Compiling any Rust projects with cargo/rustc gives me:

error: linking with 
`/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/gcc` failed: 
exit status: 1
   |
   = note: LC_ALL="en_US.UTF-8" 
PATH="/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/gnu/store/na1dpbbcxjaa3n8wkwrfpch476f90hlf-ld-wrapper-0/bin:/run/setuid-programs:/home/sanoj/.config/guix/current/bin:/home/sanoj/.guix-profile/bin:/home/sanoj/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin"
 
VSLANG="1033" 
"/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/gcc" "-m64" 
"/tmp/rustcgxwbFb/symbols.o" 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.1zjflzmz4wm0rsrv.rcgu.o"
 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.2duafa9srarmpjnt.rcgu.o"
 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.443xrmazvzgsmurd.rcgu.o"
 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.44ggf720dnnj7j1d.rcgu.o"
 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.fcr051zdx2qwdyh.rcgu.o"
 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.okt6swwk1mh2gyh.rcgu.o"
 
"/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76.5g6lewwejzj1nrgt.rcgu.o"
 
"-Wl,--as-needed" "-L" "/home/sanoj/builds/lmao/target/debug/deps" "-L" 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib"
 
"-Wl,-Bstatic" 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b28c98d3528d2baf.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-2841ec5be44963c5.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-7383ffa14b6461ef.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-162fa792d9ed3bfb.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-0bfd35419d2031f1.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-41e203ff41cdcead.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-34503229160295b3.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb9be16e6f724234.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-35b2087e9b31e588.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-205fda2dd42d3838.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-de351642646ac1bb.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-0f6e64fdc62a859f.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-d027526668cd710d.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-ad7bd3b9ed5616ab.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-4c1d266099985bae.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-36ed65d81204c951.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-3bee09dbc34bd854.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-0f3efdc599668d8b.rlib"
 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-36cc28fcdaa49a7b.rlib"
 
"-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" 
"-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" 
"/gnu/store/96sdk3id979vh1kc9nw9p88834014j6m-rust-1.68.2/lib/rustlib/x86_64-unknown-linux-gnu/lib"
 
"-o" "/home/sanoj/builds/lmao/target/debug/deps/lmao-acc3b21e98a3ed76" 
"-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
   = note: ld: cannot find -lrt: No such file or directory
   collect2: error: ld returned 1 exit status







bug#65460: ghc/ghci are broken

2023-08-22 Thread Jonas via Bug reports for GNU Guix
Hi! Running ghci gives me:

GHCi, version 9.2.5: https://www.haskell.org/ghc/  :? for help
ghc: loadArchive: Not an archive: 
`/gnu/store/kqb5pmdy950b53v4ga97qvhhdfqxv9rs-glibc-2.35-static/lib/libm.a'
ghc: panic! (the 'impossible' happened)
   (GHC version 9.2.5:
     loadArchive 
"/gnu/store/kqb5pmdy950b53v4ga97qvhhdfqxv9rs-glibc-2.35-static/lib/libm.a": 
failed

Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug


And compiling a hello-world program with ghc gives me:

[1 of 1] Compiling Main ( hello.hs, hello.o )

: error:
     Warning: Couldn't figure out C compiler information!
  Make sure you're using GNU gcc, or clang







bug#65437: bloomberg-bde 3.98.0 non-determistic test failure

2023-08-22 Thread Ludovic Courtès
Hi,

Maxim Cournoyer  skribis:

> make: *** [Makefile:14690: all.t] Error 2
> error: in phase 'build-tests': uncaught exception:
> %exception #< program: "make" arguments: ("all.t" "-j" "16") 
> exit-status: 2 term-signal: #f stop-signal: #f> 
> phase `build-tests' failed after 705.6 seconds
> command "make" "all.t" "-j" "16" failed with status 2
> builder for 
> `/gnu/store/sy9glkyrda4na297m9v85i53png5pvbh-bloomberg-bde-3.98.0.0.drv' 
> failed with exit code 1
> @ build-failed 
> /gnu/store/sy9glkyrda4na297m9v85i53png5pvbh-bloomberg-bde-3.98.0.0.drv - 1 
> builder for `/gnu/store
>
> The build was broken on the qt-updates branch [0] but working on master, so
> it appears to be non-deterministic.
>
> [0]  https://ci.guix.gnu.org/build/991957/log/raw

The actual error seems to hide above in the log:

--8<---cut here---start->8---
[ 28%] Linking CXX executable bslma_managedptr_pairproxy.t
/gnu/store/ygab8v4ci9iklaykapq52bfsshpvi8pw-cmake-minimal-3.24.2/bin/cmake -E 
cmake_link_script CMakeFiles/bslma_managedptr_pairproxy.t.dir/link.txt 
--verbose=1
/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/c++ -O2 -g -DNDEBUG 
CMakeFiles/bslma_managedptr_pairproxy.t.dir/groups/bsl/bslma/bslma_managedptr_pairproxy.t.cpp.o
 -o bslma_managedptr_pairproxy.t  
-Wl,-rpath,/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/build libbslma.a 
libbslmf.a libbsla.a libbslscm.a libbsls.a -lrt libryu.so 
/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/source/groups/bsl/bslma/bslma_managedptr.t.cpp:
 In function ?int main(int, char**)?:
/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/source/groups/bsl/bslma/bslma_managedptr.t.cpp:11176:22:
 error: ?move? is not a member of ?std?
11176 | o = std::move(o2);
  |  ^~~~
/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/source/groups/bsl/bslma/bslma_managedptr.t.cpp:26:1:
 note: ?std::move? is defined in header ??; did you forget to 
?#include ??
   25 | #include  // 'atoi'
  +++ |+#include 
   26 | #include 
make[3]: Leaving directory '/tmp/guix-build-bloomberg-bde-3.98.0.0.drv-0/build'
--8<---cut here---end--->8---

I’m guessing that those .t.cpp files are generated and then built, and
that there’s a race condition when building in parallel.

Greg, does that ring a bell?  Should we perform the ‘build-tests’ phase
sequentially?

Ludo’.





bug#65456: [PATCH 0/2] Split guix build into more steps for 32bit hosts.

2023-08-22 Thread Ludovic Courtès
Hi,

Janneke Nieuwenhuizen  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 # …)
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 #>)
In gnu/packages.scm:
   242:33  9 (fold-packages # # …)
In guix/discovery.scm:
   158:11  8 (all-modules _ #:warn _)
In srfi/srfi-1.scm:
   460:18  7 (fold # _ ((. #)))
In guix/discovery.scm:
   148:19  6 (_ _ ())
115:5  5 (scheme-modules _ _ #:warn _)
In srfi/srfi-1.scm:
   691:23  4 (filter-map # _ . _)
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 

bug#54447: cuirass: missing derivation error

2023-08-22 Thread Ludovic Courtès
Hi,

Maxim Cournoyer  skribis:

> Looking at multiple of recent 'cannot build missing derivation' build
> failures on Cuirass, I see for example:
>
> substitute: 
> substitute: [Kupdating substitutes from 'http://141.80.167.131'...   0.0%
> substitute: [Kcould not fetch 
> http://141.80.167.131/rhgrs3ac6h64siz0krqh2ia8kkn3h6ym.narinfo 504
> substitute: updating substitutes from 'http://141.80.167.131'... 100.0%
> cannot build missing derivation 
> ?/gnu/store/rhgrs3ac6h64siz0krqh2ia8kkn3h6ym-python-asdf-standard-1.0.3.drv?
>
>
> So it seems the error originated from guix-publish being too heavily
> under load to produce a timely reply, and the nginx proxy issued a 504
> (timeout) error response.
>
> Looking into /var/log/guix-publish.log for a corresponding entry, I
> found:
>
> 2023-08-21 23:59:35 GET /rhgrs3ac6h64siz0krqh2ia8kkn3h6ym.narinfo
> 2023-08-21 23:59:35 In web/server/http.scm:
> 2023-08-21 23:59:35 159:7  2 (http-write #< socket: 
> # …)
> 2023-08-21 23:59:35 In unknown file:
> 2023-08-21 23:59:351 (put-bytevector # 
> #vu8(83 # …) …)
> 2023-08-21 23:59:35 In ice-9/boot-9.scm:
> 2023-08-21 23:59:35   1685:16  0 (raise-exception _ #:continuable? _)
> 2023-08-21 23:59:35 In procedure fport_write: Broken pipe
>
>
> So the connection was apparently severed (?), resulting in the "broken
> pipe" error.

I think it’s just that, when ‘guix publish’ eventually replied, the
client had left, hence EPIPE.

The initial problem does look like ‘guix publish’ being too slow.  Do
the corresponding nginx logs confirm the “backend too slow => 504”
hypothesis?

Thanks for investigating!

Ludo’.





bug#65456: [PATCH v2 2/2] self: Build gnu/packages/*.go in 26 steps.

2023-08-22 Thread Janneke Nieuwenhuizen
Janneke Nieuwenhuizen writes:

After a LGTM from Ludo and discussing with Maxim on IRC, pushed to
master as 5898b2e8a3dbf7797e83b39a2783c5b543015725

Maxim suggested ()
we could maybe use Guile in make to split building .go files in
Makefile.am algorithmically like we do in guix/self.scm.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen   | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com





bug#65457: qtbase refers to python 3

2023-08-22 Thread Maxim Cournoyer
Hello,

Maxim Cournoyer  writes:

> Hi,
>
> I failed to notice this in time for the merge, but it appears qtbase now
> keeps a reference to Python 3.10, which increases its size a bit.
>
> It should be removed.

Fixes, like so:

--8<---cut here---start->8---
modified   gnu/packages/qt.scm
@@ -634,6 +634,8 @@ (define-public qtbase
 (build-system cmake-build-system)
 (arguments
  (substitute-keyword-arguments (package-arguments qtbase-5)
+   ((#:disallowed-references _ #f)
+(list python))
((#:configure-flags _ ''())
 `(let ((out (assoc-ref %outputs "out")))
(list "-DQT_BUILD_TESTS=ON"
@@ -727,7 +729,8 @@ (define-public qtbase
 (add-after 'patch-source-shebangs 'do-not-capture-python
   (lambda _
 (substitute* '("mkspecs/features/uikit/devices.py"
-   "util/testrunner/qt-testrunner.py")
+   "util/testrunner/qt-testrunner.py"
+   "util/testrunner/sanitizer-testrunner.py")
   (((which "python3"))
"/usr/bin/env python3"
 (replace 'configure
--8<---cut here---end--->8---

I'll push the fix to the telephony-team branch, since I had just removed
the qt-updates one.

-- 
Thanks,
Maxim





bug#65457: qtbase refers to python 3

2023-08-22 Thread Maxim Cournoyer
Hi,

I failed to notice this in time for the merge, but it appears qtbase now
keeps a reference to Python 3.10, which increases its size a bit.

It should be removed.

-- 
Thanks,
Maxim





bug#65456: [PATCH v2 2/2] self: Build gnu/packages/*.go in 26 steps.

2023-08-22 Thread Janneke Nieuwenhuizen
Janneke Nieuwenhuizen writes:

> diff --git a/guix/self.scm b/guix/self.scm
> index 81a36e007f..151fa9f452 100644
[..]

> + (parameterize ((current-warning-port (%make-void-port "w")))

meant to move this comment

> +   ;; Hide compilation warnings.

above the parameterize; fixed locally


Janneke Nieuwenhuizen   | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com





bug#65456: [PATCH v2 1/2] build: Build gnu/packages/*.go in five steps.

2023-08-22 Thread Janneke Nieuwenhuizen
This breaks-up packages into five chunks of ~150,000 lines, allowing guix
build --target=i586-pc-gnu from an x86 host.

This is a followup to 1aa7ee52c6c520c2dbbdb06f1381466e9fd96294.

* Makefile.am (first_half): Rename to...
(first_quart): ...this, and also split into...
(second_quart): ...this.
(third_quart, MODULES_PACKAGES3, MODULES_PACKAGE4): New variables.
(make-packages3-go, make-packages4-go): New targets.
(make-packages-go): Add them.
---
 Makefile.am | 51 +++
 1 file changed, 43 insertions(+), 8 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 738532f839..922913355c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -776,15 +776,30 @@ endef
 # in .  Each 'eval' call below creates a
 # 'make-*-go' phony target that builds the corresponding subset.
 
-first_half :=  \
-  gnu/packages/a% gnu/packages/b% gnu/packages/c% gnu/packages/d%  \
-  gnu/packages/e% gnu/packages/f% gnu/packages/g% gnu/packages/h%  \
-  gnu/packages/i% gnu/packages/j% gnu/packages/k% gnu/packages/l%
+first_fifth := \
+  gnu/packages/a% gnu/packages/b% gnu/packages/c%
+
+second_fifth :=
\
+  gnu/packages/d% gnu/packages/e% gnu/packages/f%
+
+third_fifth := \
+  gnu/packages/g%  gnu/packages/h% gnu/packages/i%
+
+fourth_fifth :=
\
+  gnu/packages/j% gnu/packages/k% gnu/packages/l% gnu/packages/m%  \
+  gnu/packages/n% gnu/packages/o%
 
 MODULES_CORE  := guix.scm $(filter-out guix/scripts/%,$(filter 
guix/%,$(MODULES)))
-MODULES_PACKAGES1 := $(filter $(first_half),$(MODULES))
-MODULES_PACKAGES2 := $(filter-out $(first_half),$(filter 
gnu/packages/%,$(MODULES)))
-MODULES_PACKAGES  := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)
+MODULES_PACKAGES1 := $(filter $(first_fifth),$(MODULES))
+MODULES_PACKAGES2 := $(filter $(second_fifth),$(MODULES))
+MODULES_PACKAGES3 := $(filter $(third_fifth),$(MODULES))
+MODULES_PACKAGES4 := $(filter $(fourth_fifth),$(MODULES))
+MODULES_PACKAGES5 := $(filter-out $(first_fifth) $(second_fifth)   \
+   $(third_fifth) $(fourth_fifth), \
+   $(filter gnu/packages/%,$(MODULES)))
+MODULES_PACKAGES  := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2) \
+   $(MODULES_PACKAGES3) $(MODULES_PACKAGES4)   \
+   $(MODULES_PACKAGES5)
 MODULES_SYSTEM:= gnu.scm $(filter-out gnu/packages/%,$(filter 
gnu/%,$(MODULES)))
 MODULES_CLI   := $(filter guix/scripts/%,$(MODULES))
 MODULES_PO:= guix/build/po.scm
@@ -804,7 +819,27 @@ $(eval $(call guile-compilation-rule,make-packages2-go,
\
   $(words $(MODULES_CORE) $(MODULES_PACKAGES1
 .PHONY: make-packages2-go
 
-make-packages-go: make-packages1-go make-packages2-go
+$(eval $(call guile-compilation-rule,make-packages3-go,
\
+  $(MODULES_PACKAGES3) make-core-go make-packages1-go make-packages2-go,   
\
+  $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2
+.PHONY: make-packages3-go
+
+$(eval $(call guile-compilation-rule,make-packages4-go,
\
+  $(MODULES_PACKAGES4) make-core-go make-packages1-go make-packages2-go
\
+make-packages3-go, \
+  $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)\
+$(MODULES_PACKAGES3
+.PHONY: make-packages4-go
+
+$(eval $(call guile-compilation-rule,make-packages5-go,
\
+  $(MODULES_PACKAGES5) make-core-go make-packages1-go make-packages2-go
\
+make-packages3-go make-packages4-go,   \
+  $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)\
+$(MODULES_PACKAGES3) $(MODULES_PACKAGES4
+.PHONY: make-packages5-go
+
+make-packages-go: make-packages1-go make-packages2-go \
+  make-packages3-go make-packages4-go make-packages5-go
 .PHONY: make-packages-go
 
 $(eval $(call guile-compilation-rule,make-system-go,   \

base-commit: c655231b72ac28b5a433069fcf86a835c9c83691
-- 
2.41.0






bug#65456: [PATCH v2 2/2] self: Build gnu/packages/*.go in 26 steps.

2023-08-22 Thread Janneke Nieuwenhuizen
Similar to the Makefile.am change, this breaks-up gnu/packages into 26 chunks
when building on 32bit.  Also force garbage collection.

* guix/self.scm (compiled-modules)[process-directory]: Split building of
"gnu/packages" into 26 chunks.
---
 guix/self.scm | 33 ++---
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/guix/self.scm b/guix/self.scm
index 81a36e007f..151fa9f452 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017-2023 Ludovic Courtès 
 ;;; Copyright © 2020 Martin Becze 
+;;; Copyright © 2023 Janneke Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1210,9 +1211,12 @@ (define* (compiled-modules name module-tree module-files
 '((guix build compile)
   (guix build utils)))
   #~(begin
-  (use-modules (srfi srfi-26)
+  (use-modules (srfi srfi-1)
+   (srfi srfi-26)
+   (srfi srfi-71)
(ice-9 match)
(ice-9 format)
+   (ice-9 regex)
(ice-9 threads)
(guix build compile)
(guix build utils))
@@ -1244,12 +1248,27 @@ (define* (compiled-modules name module-tree module-files
 (force-output))
 
   (define (process-directory directory files output)
-;; Hide compilation warnings.
-(parameterize ((current-warning-port (%make-void-port "w")))
-  (compile-files directory #$output files
- #:workers (parallel-job-count)
- #:report-load report-load
- #:report-compilation report-compilation)))
+;; Split gnu/packages in 26 chunks to avoid OOM errors
+(let* ((chunks (map (compose
+ (cute partition <> files)
+ (lambda (regex)
+   (cute string-match regex <>))
+ (cute string-append "^gnu/packages/" <>)
+ (cute make-string 1 <>)
+ integer->char
+ (cute + (char->integer #\a) <>))
+(iota 26)))
+   (chunks (filter pair? chunks)))
+  (for-each
+   (lambda (chunck)
+ (parameterize ((current-warning-port (%make-void-port "w")))
+   ;; Hide compilation warnings.
+   (compile-files directory #$output chunck
+  #:workers (parallel-job-count)
+  #:report-load report-load
+  #:report-compilation report-compilation))
+ (gc))
+   chunks)))
 
   (setvbuf (current-output-port) 'line)
   (setvbuf (current-error-port) 'line)
-- 
2.41.0






bug#65456: [PATCH 1/2] build: Build gnu/packages/*.go in five steps.

2023-08-22 Thread Janneke Nieuwenhuizen
Janneke Nieuwenhuizen writes:

> * Makefile.am (first_half): Rename to...
[..]
> +print-p1:
> + @echo $(MODULES_PACKAGES1)
> +print-p2:
> + @echo $(MODULES_PACKAGES2)
> +print-p3:
> + @echo $(MODULES_PACKAGES3)
> +print-p4:
> + @echo $(MODULES_PACKAGES4)
> +print-p5:
> + @echo $(MODULES_PACKAGES5)
> +

...I mean to remove this debugging code, but it might come in handy for
review.

-- 
Janneke Nieuwenhuizen   | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com





bug#65456: [PATCH 1/2] build: Build gnu/packages/*.go in five steps.

2023-08-22 Thread Janneke Nieuwenhuizen
This breaks-up packages into five chunks of ~150,000 lines, allowing guix
build --target=i586-pc-gnu from an x86 host.

This is a followup to 1aa7ee52c6c520c2dbbdb06f1381466e9fd96294.

* Makefile.am (first_half): Rename to...
(first_quart): ...this, and also split into...
(second_quart): ...this.
(third_quart, MODULES_PACKAGES3, MODULES_PACKAGE4): New variables.
(make-packages3-go, make-packages4-go): New targets.
(make-packages-go): Add them.
---
 Makefile.am | 62 ++---
 1 file changed, 54 insertions(+), 8 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 738532f839..7c8c215f86 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -776,19 +776,45 @@ endef
 # in .  Each 'eval' call below creates a
 # 'make-*-go' phony target that builds the corresponding subset.
 
-first_half :=  \
-  gnu/packages/a% gnu/packages/b% gnu/packages/c% gnu/packages/d%  \
-  gnu/packages/e% gnu/packages/f% gnu/packages/g% gnu/packages/h%  \
-  gnu/packages/i% gnu/packages/j% gnu/packages/k% gnu/packages/l%
+first_fifth := \
+  gnu/packages/a% gnu/packages/b% gnu/packages/c%
+
+second_fifth :=
\
+  gnu/packages/d% gnu/packages/e% gnu/packages/f%
+
+third_fifth := \
+  gnu/packages/g%  gnu/packages/h% gnu/packages/i%
+
+fourth_fifth :=
\
+  gnu/packages/j% gnu/packages/k% gnu/packages/l% gnu/packages/m%  \
+  gnu/packages/n% gnu/packages/o%
 
 MODULES_CORE  := guix.scm $(filter-out guix/scripts/%,$(filter 
guix/%,$(MODULES)))
-MODULES_PACKAGES1 := $(filter $(first_half),$(MODULES))
-MODULES_PACKAGES2 := $(filter-out $(first_half),$(filter 
gnu/packages/%,$(MODULES)))
-MODULES_PACKAGES  := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)
+MODULES_PACKAGES1 := $(filter $(first_fifth),$(MODULES))
+MODULES_PACKAGES2 := $(filter $(second_fifth),$(MODULES))
+MODULES_PACKAGES3 := $(filter $(third_fifth),$(MODULES))
+MODULES_PACKAGES4 := $(filter $(fourth_fifth),$(MODULES))
+MODULES_PACKAGES5 := $(filter-out $(first_fifth) $(second_fifth)   \
+   $(third_fifth) $(fourth_fifth), \
+   $(filter gnu/packages/%,$(MODULES)))
+MODULES_PACKAGES  := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2) \
+   $(MODULES_PACKAGES3) $(MODULES_PACKAGES4)   \
+   $(MODULES_PACKAGES5)
 MODULES_SYSTEM:= gnu.scm $(filter-out gnu/packages/%,$(filter 
gnu/%,$(MODULES)))
 MODULES_CLI   := $(filter guix/scripts/%,$(MODULES))
 MODULES_PO:= guix/build/po.scm
 
+print-p1:
+   @echo $(MODULES_PACKAGES1)
+print-p2:
+   @echo $(MODULES_PACKAGES2)
+print-p3:
+   @echo $(MODULES_PACKAGES3)
+print-p4:
+   @echo $(MODULES_PACKAGES4)
+print-p5:
+   @echo $(MODULES_PACKAGES5)
+
 $(eval $(call guile-compilation-rule,make-core-go, \
   $(MODULES_CORE) guix/config.scm $(dist_noinst_DATA), \
   0))
@@ -804,7 +830,27 @@ $(eval $(call guile-compilation-rule,make-packages2-go,
\
   $(words $(MODULES_CORE) $(MODULES_PACKAGES1
 .PHONY: make-packages2-go
 
-make-packages-go: make-packages1-go make-packages2-go
+$(eval $(call guile-compilation-rule,make-packages3-go,
\
+  $(MODULES_PACKAGES3) make-core-go make-packages1-go make-packages2-go,   
\
+  $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2
+.PHONY: make-packages3-go
+
+$(eval $(call guile-compilation-rule,make-packages4-go,
\
+  $(MODULES_PACKAGES4) make-core-go make-packages1-go make-packages2-go
\
+make-packages3-go, \
+  $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)\
+$(MODULES_PACKAGES3
+.PHONY: make-packages4-go
+
+$(eval $(call guile-compilation-rule,make-packages5-go,
\
+  $(MODULES_PACKAGES5) make-core-go make-packages1-go make-packages2-go
\
+make-packages3-go make-packages4-go,   \
+  $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)\
+$(MODULES_PACKAGES3) $(MODULES_PACKAGES4
+.PHONY: make-packages5-go
+
+make-packages-go: make-packages1-go make-packages2-go \
+  make-packages3-go make-packages4-go make-packages5-go
 .PHONY: make-packages-go
 
 $(eval $(call guile-compilation-rule,make-system-go,   \
-- 
2.41.0






bug#65456: [PATCH 2/2] self: Build gnu/packages/*.go in 26 steps on 32bit.

2023-08-22 Thread Janneke Nieuwenhuizen
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.
---
 guix/self.scm | 31 +--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/guix/self.scm b/guix/self.scm
index 81a36e007f..474715fe7a 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017-2023 Ludovic Courtès 
 ;;; Copyright © 2020 Martin Becze 
+;;; Copyright © 2023 Janneke Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1210,9 +1211,12 @@ (define* (compiled-modules name module-tree module-files
 '((guix build compile)
   (guix build utils)))
   #~(begin
-  (use-modules (srfi srfi-26)
+  (use-modules (srfi srfi-1)
+   (srfi srfi-26)
+   (srfi srfi-71)
(ice-9 match)
(ice-9 format)
+   (ice-9 regex)
(ice-9 threads)
(guix build compile)
(guix build utils))
@@ -1251,6 +1255,26 @@ (define* (compiled-modules name module-tree module-files
  #:report-load report-load
  #:report-compilation report-compilation)))
 
+  (define (process-directory/32bit directory files output)
+(let* ((chunks (map (compose
+ (cute partition <> files)
+ (lambda (regex)
+   (cute string-match regex <>))
+ (cute string-append "^gnu/packages/" <>)
+ (cute make-string 1 <>)
+ integer->char
+ (cute + (char->integer #\a) <>))
+(iota 26)))
+   (chunks (filter pair? chunks)))
+  (for-each
+   (lambda (chunck)
+ (compile-files directory #$output chunck
+#:workers (parallel-job-count)
+#:report-load report-load
+#:report-compilation report-compilation)
+ (gc))
+   chunks)))
+
   (setvbuf (current-output-port) 'line)
   (setvbuf (current-error-port) 'line)
 
@@ -1277,7 +1301,10 @@ (define* (compiled-modules name module-tree module-files
 
   (mkdir #$output)
   (chdir #+module-tree)
-  (process-directory "." '#+module-files #$output)
+  (match (string-split %host-type #\-)
+(((or "i586" "i686") rest ...)
+ (process-directory/32bit "." '#+module-files #$output))
+(_ (process-directory "." '#+module-files #$output)))
   (newline
 
   (computed-file name build
-- 
2.41.0






bug#65456: [PATCH 0/2] Split guix build into more steps for 32bit hosts.

2023-08-22 Thread Janneke Nieuwenhuizen
Hi!

Initially writter for the Hurd (see hurd-team
,
)
This afternoon on IRC, Maxim confirmed my suspicion that this could be 32bit
issue, rather than a Hurd problem
(,
).

I didn't submit these for the Hurd yet, as I didn't really feel comfortable
with the 26-way split.  I tried a 5-way split and that still gave OOM errors
on the Hurd and I didn't feel like hand-coding a 10-way split, so yeah.

Also, the 5-way split in the Makefile.am will produce percentages over
100 which suggests a typo...but I couldn't spot it.

Lastly, these patches feel like a workaround for Guile / libgc memory
management?  Otoh, being able to build Guix on 32bit hosts is kinda nice
too... So yeah.

Greetings,
Janneke

Janneke Nieuwenhuizen (2):
  build: Build gnu/packages/*.go in five steps.
  self: Build gnu/packages/*.go in 26 steps on 32bit.

 Makefile.am   | 62 ---
 guix/self.scm | 31 --
 2 files changed, 83 insertions(+), 10 deletions(-)


base-commit: c655231b72ac28b5a433069fcf86a835c9c83691
-- 
2.41.0






bug#65417: i686-linux installation medium on Pentium II fails on boot

2023-08-22 Thread Josselin Poiret via Bug reports for GNU Guix
Hi Skylar,

"Skylar \"The Cobra\" Widulski" via Bug reports for GNU Guix
 writes:

> I've got an old Pentium II machine that I want to install Guix on. 
> Booting up the i686-linux installation medium, I'm dropped into a guile 
> REPL with this output visible on the 640x480 rectangle because NeoMagic 
> framebuffer seems unsupported:
>
> setting up setuid programs in '/run/setuid-programs'...
> populating /etc from /gnu/store/lzcvl2y4qsj6fkkq4g42a3zyqj9rsxlr-etc...
> creating /etc/machine-id...
> /gnu/store/0iapawfss4xnxls622g23qpk4mwb9ihp-glibc-2.33/lib/libc.so.6: 
> CPU ISA level is lower than required
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> ERROR:
>1. :
>program: 
> "/gnu/store/j87mrzkw32dc03j9yxf2nxddn8621m1c-dbus-1.12.20/bin/dbus-uuidgen"
>arguments: ("--ensure=/etc/machine-id")
>exit-status: 127
>term-signal: #f
>stop-signal: #f
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
> GNU Guile 3.0.7
>
>
> It seems that there is an issue with the P6 (i686) microarchitecture 
> used in the Pentium II, even though the image is labelled i686. I'm not 
> sure what problem glibc would have with it.
> Explanations? Possible solutions?

There apparently was a bug with the ISA stamping that glibc used that
didn't take the -march option into account properly.  Since it was
noticed quite quickly after release, I think it should have been fixed
in subsequent versions (although I haven't really looked deep enough
into it).  In the meantime, you can try building a new installation
image using an existing Guix (CI doesn't build i686 images for latest).

Best,
-- 
Josselin Poiret


signature.asc
Description: PGP signature


bug#64663: MESA shader cache makes OBS not running anymore

2023-08-22 Thread Giovanni Biscuolo
Hello Arne,

"Dr. Arne Babenhauserheide"  writes:

[...]

>> Guillaume Le Vaillant <…> writes:
>>
>>> It looks like an issue with the shader cache of mesa.
>>> After clearing it, I don't see the memory leak anymore.
>>>
>>> Could you try doing a "rm -r $HOME/.cache/mesa_shader_cache/*" and see
>>> if it also solves the issue for you?

[...]

> Can we somehow automate this solution?

This class of issues (cache invalidation) are recurrent and only
upstream can really solve this... or we should have a post-install
action in guix package manager where we program such invalidations when
upgrading, as a _workaround_ (I guess Debian _is_ doing this, for
example)

The "cache invalidation automation via Guix" discussion is something
that predates https://issues.guix.gnu.org/issue/35683 (May 2019)

The bug you are experiencing is very similar (the same?) reported here:
https://issues.guix.gnu.org/issue/63197

...upstream is still working (?) on the issue:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8937

All in all this (and all cache invalidation) bug is not Guix specific.

As I already proposed (https://issues.guix.gnu.org/issue/35683):

--8<---cut here---start->8---

we should find a way to make Guix users aware of this kind of problems
and possible workarounds they can apply

--8<---cut here---end--->8---

Best regards, Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures


signature.asc
Description: PGP signature


bug#65412: Guix installer failed to install

2023-08-22 Thread Josselin Poiret via Bug reports for GNU Guix
Hi Bruno,

Bruno Haible  writes:
>
> The problem is not so much that it failed, but that the warning
> message does not sufficiently describe the cause:
>   * I understand the figure of 6 GB: that's the expected size for
> a GUI environment with MATE.
>   * But I don't understand the figure of 1 GB.
> - Is /mnt a RAM disk (the VM has 2 GB of RAM), or did the installer fail
>   to mount /mnt?
> - Or is /mnt overloaded to the swap partition (which has 1 GB in my 
> config)?
> - Or is /mnt the 10 GB partition of my disk, and the downloaded binaries
>   already filled 9 GB of it?
> If I knew this, I would know what to do to fix the problem: Add more RAM?
> Partition differently? Use a larger main partition?

My guess is that, because a Guix system init installs some stuff in
steps, one of these steps ended up requiring too much space, that would
be bullet point 3 above.  You can check that it's not 1 or 2 by, once
you reproduce this bug, going to tty3 (using ctrl+alt+f3), and typing
`lsblk` to check which partition is mounted where.  In the meantime, I
would probably recommend adding some space for /.

Best,
-- 
Josselin Poiret


signature.asc
Description: PGP signature