[hurd-team]: Update mig and gnumach. #6487

Manually merged
janneke merged 18 commits from Yelninei/guix:hurd-team into hurd-team 2026-03-06 19:32:18 +01:00
Member

However it is an abi breaking change (on x86_64 because i586 has no 64bit memebrs in rpcs) and needs new bootstrap files as the old ones dont work with the new format of the mach RPCs..

Ive also included a gnumach update as we are already rebuilding everything.

For commencement.scm I removed the git-fetch-from-tarball as the tarballs are no longer available from savannah. Maybe this needs an immediate SWH fallback when git-download is not available?

We might be able to remove some system-hurd64 code that is now obsolete but this is untested for the reason above.

- The mig update should finally fix guix/guix#417 However it is an abi breaking change (on x86_64 because i586 has no 64bit memebrs in rpcs) and needs new bootstrap files as the old ones dont work with the new format of the mach RPCs.. Ive also included a gnumach update as we are already rebuilding everything. For commencement.scm I removed the `git-fetch-from-tarball` as the tarballs are no longer available from savannah. Maybe this needs an immediate SWH fallback when git-download is not available? We might be able to remove some `system-hurd64` code that is now obsolete but this is untested for the reason above.
Author
Member

With a rebuild bootstrap files glibc-intermiate fails with a python error? I have never seen this?

python3 -B ../scripts/gen-as-const.py --cc="x86_64-guix-gnu-gcc -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -Wimplicit-fallthrough -fmerge-all-constants -frounding-math -fno-stack-protector -fno-common -U_FORTIFY_SOURCE -Wno-parentheses -Wstrict-prototypes -Wold-style-definition -fmath-errno      -ftls-model=initial-exec     -I../include -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/csu  -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build  -I../sysdeps/mach/hurd/x86_64  -I../sysdeps/mach/hurd/x86  -I../sysdeps/mach/hurd/x86_64/htl  -I../sysdeps/mach/hurd/htl  -I../sysdeps/hurd/htl  -I../sysdeps/mach/htl  -I../sysdeps/htl/include -I../sysdeps/htl  -I../sysdeps/pthread  -I../sysdeps/x86_64/htl  -I../sysdeps/x86/htl  -I../sysdeps/mach/hurd  -I../sysdeps/gnu  -I../sysdeps/unix/bsd  -I../sysdeps/unix/inet  -I../sysdeps/mach/x86_64  -I../sysdeps/mach/x86  -I../sysdeps/mach/include -I../sysdeps/mach  -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86/include -I../sysdeps/x86  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/hurd/include -I../sysdeps/hurd  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic -I../hurd -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/hurd/ -I../mach -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/mach/ -I.. -I../libio -I. -nostdinc -isystem /gnu/store/7gfyy98p9wb09bdn8k2v2d6fx03kkf93-gcc-cross-boot0-14.3.0-lib/lib/gcc/x86_64-guix-gnu/14.3.0/include -isystem /gnu/store/7gfyy98p9wb09bdn8k2v2d6fx03kkf93-gcc-cross-boot0-14.3.0-lib/lib/gcc/x86_64-guix-gnu/14.3.0/include-fixed -isystem /gnu/store/7l3iiabkdxjgw3blz7zpy598q4bgh3lj-hurd-core-headers-0.9.git20251029/include -D_LIBC_REENTRANT -include /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS \
		   -MD -MP -MF /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h.dT \
		   -MT '/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h.d /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h'" \
	  rtld-sizes.sym > /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.hT
Traceback (most recent call last):
  File "../scripts/gen-as-const.py", line 28, in <module>
    import glibcextract
  File "/tmp/guix-build-glibc-intermediate-2.41.drv-0/glibc-2.41/scripts/glibcextract.py", line 23, in <module>
    import subprocess
  File "/gnu/store/qrp7ld67iwp3nma2sn8ff9vf5x7rg0jy-python-boot0-3.5.9/lib/python3.5/subprocess.py", line 129, in <module>
    import selectors
  File "/gnu/store/qrp7ld67iwp3nma2sn8ff9vf5x7rg0jy-python-boot0-3.5.9/lib/python3.5/selectors.py", line 10, in <module>
    import math
ImportError: No module named 'math'
make[2]: *** [../Makerules:271: /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h] Error 1
make[2]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.41.drv-0/glibc-2.41/csu'
make[1]: *** [Makefile:484: csu/subdir_lib] Error 2
make[1]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.41.drv-0/glibc-2.41'
make: *** [Makefile:20: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "1" "--max-load=1") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 123.1 seconds
With a rebuild bootstrap files glibc-intermiate fails with a python error? I have never seen this? ``` python3 -B ../scripts/gen-as-const.py --cc="x86_64-guix-gnu-gcc -std=gnu11 -fgnu89-inline -g -O2 -Wall -Wwrite-strings -Wundef -Wimplicit-fallthrough -fmerge-all-constants -frounding-math -fno-stack-protector -fno-common -U_FORTIFY_SOURCE -Wno-parentheses -Wstrict-prototypes -Wold-style-definition -fmath-errno -ftls-model=initial-exec -I../include -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/csu -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build -I../sysdeps/mach/hurd/x86_64 -I../sysdeps/mach/hurd/x86 -I../sysdeps/mach/hurd/x86_64/htl -I../sysdeps/mach/hurd/htl -I../sysdeps/hurd/htl -I../sysdeps/mach/htl -I../sysdeps/htl/include -I../sysdeps/htl -I../sysdeps/pthread -I../sysdeps/x86_64/htl -I../sysdeps/x86/htl -I../sysdeps/mach/hurd -I../sysdeps/gnu -I../sysdeps/unix/bsd -I../sysdeps/unix/inet -I../sysdeps/mach/x86_64 -I../sysdeps/mach/x86 -I../sysdeps/mach/include -I../sysdeps/mach -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch -I../sysdeps/x86_64 -I../sysdeps/x86/include -I../sysdeps/x86 -I../sysdeps/ieee754/float128 -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/hurd/include -I../sysdeps/hurd -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I../hurd -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/hurd/ -I../mach -I/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/mach/ -I.. -I../libio -I. -nostdinc -isystem /gnu/store/7gfyy98p9wb09bdn8k2v2d6fx03kkf93-gcc-cross-boot0-14.3.0-lib/lib/gcc/x86_64-guix-gnu/14.3.0/include -isystem /gnu/store/7gfyy98p9wb09bdn8k2v2d6fx03kkf93-gcc-cross-boot0-14.3.0-lib/lib/gcc/x86_64-guix-gnu/14.3.0/include-fixed -isystem /gnu/store/7l3iiabkdxjgw3blz7zpy598q4bgh3lj-hurd-core-headers-0.9.git20251029/include -D_LIBC_REENTRANT -include /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS \ -MD -MP -MF /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h.dT \ -MT '/tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h.d /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h'" \ rtld-sizes.sym > /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.hT Traceback (most recent call last): File "../scripts/gen-as-const.py", line 28, in <module> import glibcextract File "/tmp/guix-build-glibc-intermediate-2.41.drv-0/glibc-2.41/scripts/glibcextract.py", line 23, in <module> import subprocess File "/gnu/store/qrp7ld67iwp3nma2sn8ff9vf5x7rg0jy-python-boot0-3.5.9/lib/python3.5/subprocess.py", line 129, in <module> import selectors File "/gnu/store/qrp7ld67iwp3nma2sn8ff9vf5x7rg0jy-python-boot0-3.5.9/lib/python3.5/selectors.py", line 10, in <module> import math ImportError: No module named 'math' make[2]: *** [../Makerules:271: /tmp/guix-build-glibc-intermediate-2.41.drv-0/build/rtld-sizes.h] Error 1 make[2]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.41.drv-0/glibc-2.41/csu' make[1]: *** [Makefile:484: csu/subdir_lib] Error 2 make[1]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.41.drv-0/glibc-2.41' make: *** [Makefile:20: all] Error 2 error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "make" arguments: ("-j" "1" "--max-load=1") exit-status: 2 term-signal: #f stop-signal: #f> phase `build' failed after 123.1 seconds ```
Author
Member

math.cpython-35m-i386-gnu.so does not seem to get build

building 'math' extension
gcc -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include -I. -I/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Include -I/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9 -c /tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.c -o build/temp.gnu-0.9-x86_64-3.5/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.o
/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.c:70:1: error: static declaration of 'sinpi' follows non-static declaration
70 | sinpi(double x)
| ^~~~~
In file included from /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/features.h:524,
from /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/bits/libc-header-start.h:33,
from /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/limits.h:26,
from ./Include/Python.h:11,
from /tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.c:55:
/gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/bits/mathcalls.h:81:1: note: previous declaration of 'sinpi' with type 'double(double)'
81 | __MATHCALL_VEC (sinpi,, (Mdouble __x));
| ^~~~~~~~~~~~~~

math.cpython-35m-i386-gnu.so does not seem to get build building 'math' extension gcc -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include -I. -I/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Include -I/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9 -c /tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.c -o build/temp.gnu-0.9-x86_64-3.5/tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.o /tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.c:70:1: error: static declaration of 'sinpi' follows non-static declaration 70 | sinpi(double x) | ^~~~~ In file included from /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/features.h:524, from /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/bits/libc-header-start.h:33, from /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/limits.h:26, from ./Include/Python.h:11, from /tmp/guix-build-python-boot0-3.5.9.drv-0/Python-3.5.9/Modules/mathmodule.c:55: /gnu/store/psd26il0iv7lmlgfpbaby5pl9payscjv-glibc-bootstrap-0/include/bits/mathcalls.h:81:1: note: previous declaration of 'sinpi' with type 'double(double)' 81 | __MATHCALL_VEC (sinpi,, (_Mdouble_ __x)); | ^~~~~~~~~~~~~~
Author
Member

See this github.com/python/cpython@f57cd8288d in cpython.

A simple s/sinpi/m_sinpi resolves the conflict. Should i add this link somewhere in commencement or in the commit?

See this https://github.com/python/cpython/commit/f57cd8288dbe6aba99c057f37ad6d58f8db75350 in cpython. A simple `s/sinpi/m_sinpi` resolves the conflict. Should i add this link somewhere in commencement or in the commit?
Author
Member

m4 tests fail to compile with gcc-14, removed the patch that removed the CFLAGS.

m4 tests fail to compile with gcc-14, removed the patch that removed the CFLAGS.
Author
Member

I added a commit to change crash server to crash-kill as crash-dump-core currently hangs.

Then also added back all the things that I removed before because the errors were casued by exactly this.

this recent commit might at least solve crash-dump-core hanging causing e.g. raise(SIGABRT) to hang.
https://cgit.git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=c809367cb503830346bfb1d1fd927c09d3f3cb16

salsa.debian.org/hurd-team/hurd/-@03974e4494

I added a commit to change crash server to crash-kill as crash-dump-core currently hangs. Then also added back all the things that I removed before because the errors were casued by exactly this. this recent commit might at least solve crash-dump-core hanging causing e.g. raise(SIGABRT) to hang. https://cgit.git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=c809367cb503830346bfb1d1fd927c09d3f3cb16 https://salsa.debian.org/hurd-team/hurd/-/commit/03974e4494c1b471d31c9c9910dbd56fa4b8c8c0
Author
Member

Setting crash to crash-kill causes a test failure in guile

Running time.testa
FAIL: time.test: internal-time-units-per-second: versus times and sleep

?

Setting crash to crash-kill causes a test failure in guile Running time.testa FAIL: time.test: internal-time-units-per-second: versus times and sleep ?
Author
Member

I have built all the things successfully which were causing problems before so this also fixes guix/guix#1041

  • util-linux hanging in configure for ncursesw-config
  • cmake
  • libtool
  • automake
  • git-minimal
  • openssl
  • check
  • tcsh
  • glib

THe things that solve these is the mig update and the patch to make crash-dump-core not hang when handling SIGABRT/abort.

Resolving this also allows simplifying of some tests that were previously skipped because of a hang but now PASS/XFAIL as expected.

I also looked for some system-hurd64? and target-hurd64? checks if they can be removed.

The changes for grep and m4 need the package update on core-packages team to fully get rid of.

There is still some issue with e2fsprogs hanging, this seems fine with -M pc and a lower ram?

The python test hang does not make sense to me right now so I am skipping it for now to move things forward.

The mig change needs updated bootstrap files for x86_64-gnu and old binaries are incompatible. @janneke

I am not sure about removing the git-fetch-from-tarball in commencement?
Savannah does not serve them anymore and we cant determine a hash for SWH fallback of the snapshot taraball.
Is it fine to just consider old daemons as unsupported, should it fallback to SWH immediately if builtin:git-download is not available? @civodul

While building commencement.scm with glibc 2.41 I found an incompatibility with the ancient python-boot0 and libm both providing a sinpi symbol . The fix in python was to just rename theirs so I followed that.
This cahnge is also in the loongarch PR

I have built all the things successfully which were causing problems before so this also fixes guix/guix#1041 - util-linux hanging in configure for ncursesw-config - cmake - libtool - automake - git-minimal - openssl - check - tcsh - glib THe things that solve these is the mig update and the patch to make `crash-dump-core` not hang when handling SIGABRT/abort. Resolving this also allows simplifying of some tests that were previously skipped because of a hang but now PASS/XFAIL as expected. I also looked for some `system-hurd64?` and `target-hurd64?` checks if they can be removed. The changes for grep and m4 need the package update on core-packages team to fully get rid of. There is still some issue with e2fsprogs hanging, this seems fine with `-M pc ` and a lower ram? The python test hang does not make sense to me right now so I am skipping it for now to move things forward. The mig change needs updated bootstrap files for x86_64-gnu and old binaries are incompatible. @janneke I am not sure about removing the `git-fetch-from-tarball` in commencement? Savannah does not serve them anymore and we cant determine a hash for SWH fallback of the snapshot taraball. Is it fine to just consider old daemons as unsupported, should it fallback to SWH immediately if builtin:git-download is not available? @civodul While building commencement.scm with glibc 2.41 I found an incompatibility with the ancient python-boot0 and libm both providing a `sinpi` symbol . The fix in python was to just rename theirs so I followed that. This cahnge is also in the loongarch PR
Yelninei changed title from WIP: [hurd-team]: Update mig and gnumach. to [hurd-team]: Update mig and gnumach. 2026-02-20 09:26:44 +01:00
* gnu/packages/hurd.scm (gnumach-headers): Update to 1.8+git20260129.

Change-Id: I4007c58d4f99388c78a80eaef783be35208fe16a
Change-Id: I28936a8801ead8aeae76e92df9f31d53bcb5eb73
Author
Member

Some things that I noticed while rebuilding with the new headers and am not sure what to do about them.

These tests hang but work when using -M pc in qemu, so there maybe is a qemu bug here or somthing else that we are still missing

check is pretty important as it it pretty deep in the dependency graph but I'd rather not put workarounds for packages that work with different qemu settings.

  • check
  • e2fsprogs
Some things that I noticed while rebuilding with the new headers and am not sure what to do about them. These tests hang but work when using `-M pc` in qemu, so there maybe is a qemu bug here or somthing else that we are still missing check is pretty important as it it pretty deep in the dependency graph but I'd rather not put workarounds for packages that work with different qemu settings. - check - e2fsprogs
guix-cuirass-bot approved these changes 2026-02-24 05:04:43 +01:00
Dismissed
guix-cuirass-bot left a comment
Collaborator

Results of evaluation 71002 for commit 59d7397f1f:

Results of evaluation [71002](https://pulls.ci.guix.gnu.org/eval/71002) for commit 59d7397f1ff10ef283dda7939f69a16fa66f0447: - Successfully built 2 packages: [`gcc-cross-i586-pc-gnu-toolchain-14.3.0`](https://pulls.ci.guix.gnu.org/build/784702/details), [`gcc-cross-x86_64-pc-gnu-toolchain-14.3.0`](https://pulls.ci.guix.gnu.org/build/784703/details)
guix-cuirass-bot approved these changes 2026-02-25 10:52:56 +01:00
Dismissed
guix-cuirass-bot left a comment
Collaborator

Results of evaluation 82710 for commit 9b2ed8d079:

Results of evaluation [82710](https://pulls.ci.guix.gnu.org/eval/82710) for commit 9b2ed8d079c238fd4a1e8cef222cb35c3cbb51e4: - Successfully built 2 packages: [`gcc-cross-i586-pc-gnu-toolchain-14.3.0`](https://pulls.ci.guix.gnu.org/build/825867/details), [`gcc-cross-x86_64-pc-gnu-toolchain-14.3.0`](https://pulls.ci.guix.gnu.org/build/825868/details)
Owner

I have rebased this onto latest master, built the bootstrap binaries,
uploaded them to https://lilypond.org/janneke/guix/x86_64-gnu/20260301/,
added a commit updating them for x86_64-gnu, and pushed
it as hurd-team.

Currently I'm building the devel-hurd VM image...but I noticed that upstream
just released/tagged another gnumach this week: v1.8+git20260224.

Do we want to update gnumach again before changing the bootstrap binaries?

Looking at the MIG update, I'm wondering why we're not updating to the
latest commit

8388e79d61c07a0059569851ccdf2e6d9c2761ee
Actually generate code for the 64bit abi when running on a 64bit cpu.
I have rebased this onto latest master, built the bootstrap binaries, uploaded them to https://lilypond.org/janneke/guix/x86_64-gnu/20260301/, added a commit updating them for x86_64-gnu, and pushed it as hurd-team. Currently I'm building the devel-hurd VM image...but I noticed that upstream just released/tagged another gnumach this week: v1.8+git20260224. Do we want to update gnumach again before changing the bootstrap binaries? Looking at the MIG update, I'm wondering why we're not updating to the latest commit 8388e79d61c07a0059569851ccdf2e6d9c2761ee Actually generate code for the 64bit abi when running on a 64bit cpu.
Owner
8388e79d61c07a0059569851ccdf2e6d9c2761ee
Actually generate code for the 64bit abi when running on a 64bit cpu.

Oh wait...that's a local commit thit I never upstreamed -- never mind then. Remains the gnumach update; I'll have a look at that. The hurd release that we're using is also pretty old, but there's no new upstream release just yet...

> ``` > 8388e79d61c07a0059569851ccdf2e6d9c2761ee > Actually generate code for the 64bit abi when running on a 64bit cpu. > ``` Oh wait...that's a local commit thit I never upstreamed -- never mind then. Remains the gnumach update; I'll have a look at that. The hurd release that we're using is also pretty old, but there's no new upstream release just yet...
Owner

Okay, I upgraded gnumach and hurd, pushed to hurd-team, and created and uploaded new
bootstrap binaries.

Okay, I upgraded gnumach and hurd, pushed to hurd-team, and created and uploaded new bootstrap binaries.
Owner

Successfully built a devel-hurd64 image:

./pre-inst-env guix system image --image-type=hurd64-qcow2 --image-size=25G --no-offload gnu/system/examples/devel-hurd64.tmpl 

Substitutes available via http://dezyne.org:8181, as always.

I guess updating bootstrap binaries for a new achitecture a couple of times can be OK. I'm just hoping we won't need another update for quite some time, that's also why I updated gnumach and hurd to latest greatest.

WDYT, @Yelninei, @civodul, @efraim?

Successfully built a devel-hurd64 image: ``` ./pre-inst-env guix system image --image-type=hurd64-qcow2 --image-size=25G --no-offload gnu/system/examples/devel-hurd64.tmpl ``` Substitutes available via http://dezyne.org:8181, as always. I guess updating bootstrap binaries for a new achitecture a couple of times can be OK. I'm just hoping we won't need another update for quite some time, that's also why I updated gnumach and hurd to latest greatest. WDYT, @Yelninei, @civodul, @efraim?
Author
Member

@janneke Does it boot? I tried to cherry pick some ext2fs patches in hopes that the e2fsprogs/check/qemu problem would go away but i ended up with a system that did not boot, but maybe i was missing some

@janneke Does it boot? I tried to cherry pick some ext2fs patches in hopes that the e2fsprogs/check/qemu problem would go away but i ended up with a system that did not boot, but maybe i was missing some
Owner

@janneke Does it boot? I tried to cherry pick some ext2fs patches in
hopes that the e2fsprogs/check/qemu problem would go away but i ended
up with a system that did not boot, but maybe i was missing some

As discussed on IRC; yes, it boots!

Before we merge this, I propose to remove

0280d0f8bad Revert "gnu: bootstrap: Update bootstrap binaries for x86_64-gnu, aka the 64-bit Hurd."
ef5f43c94c4 gnu: bootstrap: Update bootstrap binaries for x86_64-gnu, aka the 64-bit Hurd.

and update the commit hash mentioned in commit message

gnu: bootstrap: Update bootstrap binaries for x86_64-gnu, aka the 64-bit Hurd.

On commit:
    4650163903676137b8b42b02f4dc69fb3fe71783
    gnu: hurd: Update to 0.9.git20251029-0.6290b4c.

Then, I guess the build farm's childhurds need to upudated as well.

> @janneke Does it boot? I tried to cherry pick some ext2fs patches in > hopes that the e2fsprogs/check/qemu problem would go away but i ended > up with a system that did not boot, but maybe i was missing some As discussed on IRC; yes, it boots! Before we merge this, I propose to remove ``` 0280d0f8bad Revert "gnu: bootstrap: Update bootstrap binaries for x86_64-gnu, aka the 64-bit Hurd." ef5f43c94c4 gnu: bootstrap: Update bootstrap binaries for x86_64-gnu, aka the 64-bit Hurd. ``` and update the commit hash mentioned in commit message ``` gnu: bootstrap: Update bootstrap binaries for x86_64-gnu, aka the 64-bit Hurd. On commit: 4650163903676137b8b42b02f4dc69fb3fe71783 gnu: hurd: Update to 0.9.git20251029-0.6290b4c. ``` Then, I guess the build farm's childhurds need to upudated as well.
Author
Member

@janneke I am currently rebuilding commencement.scm for i586 and x86_64.

I hope the (remaining) problems on x86_64 from #6487 (comment) are resolved now.

Those tests are working with "-M PC" in qemu but hang on the -M q35 machine we currently use to get more than 3.5Gib memory.

check is a dependency of python and curl so pretty deep in the graph and the ci childhurds not being able to build them would be problematic.

EDIT:
ext2fs seems to work now, check tests still seems to hang in the check_check test.

@janneke I am currently rebuilding commencement.scm for i586 and x86_64. I hope the (remaining) problems on x86_64 from https://codeberg.org/guix/guix/pulls/6487#issuecomment-10904900 are resolved now. Those tests are working with "-M PC" in qemu but hang on the `-M q35` machine we currently use to get more than 3.5Gib memory. `check` is a dependency of python and curl so pretty deep in the graph and the ci childhurds not being able to build them would be problematic. EDIT: ext2fs seems to work now, check tests still seems to hang in the `check_check` test.
Yelninei changed target branch from master to hurd-team 2026-03-05 18:09:34 +01:00
guix-cuirass-bot left a comment
Collaborator

Evaluation failed; see log.

Evaluation [failed](https://pulls.ci.guix.gnu.org/eval/118470); see [log](https://pulls.ci.guix.gnu.org/eval/118470/log/raw).
Owner

@guix-cuirass-bot wrote in #6487 (comment):

Evaluation failed; see log.

It's unclear to me which commit you've been looking at, @guix-cuirass-bot? It all seems to work for me?

Anyway, I've cherry-picked the commit, removed the first set of bootstrap binaries and its reversal commit, rebased on latest master and pushed to hurd-team.

@guix-cuirass-bot wrote in https://codeberg.org/guix/guix/pulls/6487#issuecomment-11228509: > Evaluation [failed](https://pulls.ci.guix.gnu.org/eval/118470); see [log](https://pulls.ci.guix.gnu.org/eval/118470/log/raw). It's unclear to me which commit you've been looking at, @guix-cuirass-bot? It all seems to work for me? Anyway, I've cherry-picked the commit, removed the first set of bootstrap binaries and its reversal commit, rebased on latest master and pushed to hurd-team.
Author
Member

I had a nesting problem error in the initial commit that skipped tests. (i put arguments inside the origin instead of extra field)

ice-9/psyntax.scm:2824:12: In procedure syntax-violation:
Syntax error:
unknown location: %origin: extraneous field initializers (arguments) in form (%origin (method url-fetch) (uri (string-append "https://github.com/libcheck/check/releases/download/" version "/check-" version ".tar.gz")) (hash (content-hash (base32 "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8") sha256)) (patches (list (origin (method url-fetch) (uri (string-append "https://github.com/libcheck/check/commit/" "4fbe702fa4f35bee8a90512f9f59d1441c4ae82e.patch")) (file-name (string-append name "-fix-test-precision-for-ppc.patch")) (sha256 (base32 "04qg1p9afdd6453k18qskazrvscysdcjz9j6w4i6p5x4xyma19v6"))))) (arguments (list #:tests? (and (not (%current-target-system)) (not (system-hurd64?))))))
I had a nesting problem error in the initial commit that skipped tests. (i put arguments inside the origin instead of extra field) ``` ice-9/psyntax.scm:2824:12: In procedure syntax-violation: Syntax error: unknown location: %origin: extraneous field initializers (arguments) in form (%origin (method url-fetch) (uri (string-append "https://github.com/libcheck/check/releases/download/" version "/check-" version ".tar.gz")) (hash (content-hash (base32 "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8") sha256)) (patches (list (origin (method url-fetch) (uri (string-append "https://github.com/libcheck/check/commit/" "4fbe702fa4f35bee8a90512f9f59d1441c4ae82e.patch")) (file-name (string-append name "-fix-test-precision-for-ppc.patch")) (sha256 (base32 "04qg1p9afdd6453k18qskazrvscysdcjz9j6w4i6p5x4xyma19v6"))))) (arguments (list #:tests? (and (not (%current-target-system)) (not (system-hurd64?)))))) ```
Author
Member

Also it would be great to update the guix package afterwards to have the updated files available from the guix on installed images.

Also it would be great to update the guix package afterwards to have the updated files available from the guix on installed images.
Author
Member

@janneke All packages that previosuly had an error now build

./pre-inst-env guix build  tcsh cmake-minimal python python-minimal openssl libtool automake check util-linux e2fsprogs -e '(@ (gnu packages glib) glib)' git-minimal -s x86_64-gnu --no-grafts -v2 
/gnu/store/f1ql9qkmfb285gvpmgj94c3vqcnnj042-tcsh-6.24.15
/gnu/store/m0sh93pk7365zgi9jlcvkvf96vdgkymj-cmake-minimal-3.31.10
/gnu/store/iaafcd4h5x5k8rzgr50wc3jfhkqfvcwk-python-3.11.14-idle
/gnu/store/aifc33k4vp2x7wl51j0ig9rzwnjwc7ws-python-3.11.14
/gnu/store/ymsr7bxbnacs84p57fqx55y7zj15wd2f-python-3.11.14-tk
/gnu/store/ilkiny0b3sgm2msp7b9i7day41mjrzgj-python-minimal-3.11.14
/gnu/store/scnjy0f4fchhygj38xyjc6ikwbm5v7z1-openssl-3.0.8-doc
/gnu/store/rs8jznr0n72avjg9933dqmn9qz486fzw-openssl-3.0.8
/gnu/store/jdk2pzphgchfsvndsz3nybncpvky12nm-openssl-3.0.8-static
/gnu/store/87j921ls8k44whpzciprxfg68yr3gd4m-libtool-2.4.7
/gnu/store/d40vwz0jf0s28r3l7zv3k6vig14n6jbd-automake-1.17
/gnu/store/b83xpxagg1ahxw8c9dqvmj0yr8s2q31f-check-0.15.2
/gnu/store/snsz51kagclr3vsm80w610gs3z3r18sz-util-linux-2.40.4-lib
/gnu/store/7l1118zcbm1ihjm9v6mda24r29y3b60z-util-linux-2.40.4
/gnu/store/n0awzbviziz677mp4pf9f9l3nk2db3hs-util-linux-2.40.4-static
/gnu/store/hj6sazzkxbrri1fkhfg66s02slzwqajw-e2fsprogs-1.47.2
/gnu/store/zcd9fg70ahldik34bmxbjrh39sazlc7n-glib-2.83.3-bin
/gnu/store/1slxs90nq8vs58k75jghxj4hkjhdn3vs-glib-2.83.3-debug
/gnu/store/cvrxryp8ay26j4rx2fkpisqv6n4xq79w-glib-2.83.3
/gnu/store/60v84y5c5j3afb4k222lgdkx57qj1ar5-glib-2.83.3-static
/gnu/store/7lisihd2mmxv7kfai1hqbkm9i5np71x0-git-minimal-2.52.0
@janneke All packages that previosuly had an error now build ``` ./pre-inst-env guix build tcsh cmake-minimal python python-minimal openssl libtool automake check util-linux e2fsprogs -e '(@ (gnu packages glib) glib)' git-minimal -s x86_64-gnu --no-grafts -v2 /gnu/store/f1ql9qkmfb285gvpmgj94c3vqcnnj042-tcsh-6.24.15 /gnu/store/m0sh93pk7365zgi9jlcvkvf96vdgkymj-cmake-minimal-3.31.10 /gnu/store/iaafcd4h5x5k8rzgr50wc3jfhkqfvcwk-python-3.11.14-idle /gnu/store/aifc33k4vp2x7wl51j0ig9rzwnjwc7ws-python-3.11.14 /gnu/store/ymsr7bxbnacs84p57fqx55y7zj15wd2f-python-3.11.14-tk /gnu/store/ilkiny0b3sgm2msp7b9i7day41mjrzgj-python-minimal-3.11.14 /gnu/store/scnjy0f4fchhygj38xyjc6ikwbm5v7z1-openssl-3.0.8-doc /gnu/store/rs8jznr0n72avjg9933dqmn9qz486fzw-openssl-3.0.8 /gnu/store/jdk2pzphgchfsvndsz3nybncpvky12nm-openssl-3.0.8-static /gnu/store/87j921ls8k44whpzciprxfg68yr3gd4m-libtool-2.4.7 /gnu/store/d40vwz0jf0s28r3l7zv3k6vig14n6jbd-automake-1.17 /gnu/store/b83xpxagg1ahxw8c9dqvmj0yr8s2q31f-check-0.15.2 /gnu/store/snsz51kagclr3vsm80w610gs3z3r18sz-util-linux-2.40.4-lib /gnu/store/7l1118zcbm1ihjm9v6mda24r29y3b60z-util-linux-2.40.4 /gnu/store/n0awzbviziz677mp4pf9f9l3nk2db3hs-util-linux-2.40.4-static /gnu/store/hj6sazzkxbrri1fkhfg66s02slzwqajw-e2fsprogs-1.47.2 /gnu/store/zcd9fg70ahldik34bmxbjrh39sazlc7n-glib-2.83.3-bin /gnu/store/1slxs90nq8vs58k75jghxj4hkjhdn3vs-glib-2.83.3-debug /gnu/store/cvrxryp8ay26j4rx2fkpisqv6n4xq79w-glib-2.83.3 /gnu/store/60v84y5c5j3afb4k222lgdkx57qj1ar5-glib-2.83.3-static /gnu/store/7lisihd2mmxv7kfai1hqbkm9i5np71x0-git-minimal-2.52.0 ```
Owner

@Yelninei wrote in #6487 (comment):

@janneke All packages that previosuly had an error now build

./pre-inst-env guix build  tcsh cmake-minimal python python-minimal openssl libtool automake check util-linux e2fsprogs -e '(@ (gnu packages glib) glib)' git-minimal -s x86_64-gnu --no-grafts -v2 
/gnu/store/f1ql9qkmfb285gvpmgj94c3vqcnnj042-tcsh-6.24.15

[..]

That's amazing news! So, do we need anything or can we rebase hurd-team and push to master?

@Yelninei wrote in https://codeberg.org/guix/guix/pulls/6487#issuecomment-11294962: > @janneke All packages that previosuly had an error now build > > ```text > ./pre-inst-env guix build tcsh cmake-minimal python python-minimal openssl libtool automake check util-linux e2fsprogs -e '(@ (gnu packages glib) glib)' git-minimal -s x86_64-gnu --no-grafts -v2 > /gnu/store/f1ql9qkmfb285gvpmgj94c3vqcnnj042-tcsh-6.24.15 [..] That's amazing news! So, do we need anything or can we rebase hurd-team and push to master?
janneke manually merged commit fa3d267dc7 into hurd-team 2026-03-06 19:32:18 +01:00
Sign in to join this conversation.
No reviewers
guix/bootstrap
guix/core-packages
guix/hurd
guix/python
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
guix/guix!6487
No description provided.