GNU bug report logs - #72315
[core-updates] Native Hurd (i586-gnu) builds broken

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Fri, 26 Jul 2024 21:28:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Subject: bug#72315: closed (Re: [bug#72643] [PATCH core-updates 0/6]
 Restore i586-gnu (GNU/Hurd) support)
Date: Fri, 16 Aug 2024 17:58:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#72315: [core-updates] Native Hurd (i586-gnu) builds broken

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 72315 <at> debbugs.gnu.org.

-- 
72315: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72315
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Ekaitz Zarraga <ekaitz <at> elenq.tech>, Josselin Poiret <dev <at> jpoiret.xyz>,
 72315-done <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>,
 72643-done <at> debbugs.gnu.org
Subject: Re: [bug#72643] [PATCH core-updates 0/6] Restore i586-gnu
 (GNU/Hurd) support
Date: Fri, 16 Aug 2024 19:56:45 +0200
Hi!

Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:

> As mentioned on IRC, I've reconfigured my system to core-updates+this
> patch series and it works for me.

Pushed as 817838c38bbeb4ef7dcb64af5fce168aeb51306e, thanks for testing!

> I'm using a close variant of the `devel-hurd.tmpl' from the hurd-team
> branch
>
>     https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples/devel-hurd.tmpl?h=hurd-team
>
> and removed the new imagemagick dependency
>
> --- a/gnu/system/examples/devel-hurd.tmpl
> +++ b/gnu/system/examples/devel-hurd.tmpl
> @@ -59,7 +59,7 @@
>  (define guix-packages
>    (filter-map input->package
>                (fold alist-delete (package-direct-inputs guix)
> -                    '("glibc-utf8-locales" "graphviz" "po4a"))))
> +                    '("glibc-utf8-locales" "graphviz" "imagemagick" "po4a"))))

I’ve submitted a patch to remove it:

  https://issues.guix.gnu.org/72674

Regarding ‘hurd-team’, I admit I had forgotten about it.  What are the
important things we should bring over to ‘master’ or ‘core-updates’?

Thanks,
Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: [core-updates] Native Hurd (i586-gnu) builds broken
Date: Fri, 26 Jul 2024 23:27:07 +0200
[Message part 4 (text/plain, inline)]
Hello!

As of 21fe1e077aa77488bd413ef3255973c60d7468fe, native i586-gnu builds
are broken on ‘core-updates’:

--8<---------------cut here---------------start------------->8---
gcc -std=gnu99 -fgnu89-inline -Wall -Werror=old-style-definition -Werror=implicit-function-declaration -Werror=strict-prototypes -g -O3 -fno-strict-aliasing  -g -O2 -I.  -I..  -I../include -I../include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64  -DPACKAGE_NAME=\"GNU\ Hurd\" -DPACKAGE_TARNAME=\"hurd\" -DPACKAGE_VERSION=\"0.9\" -DPACKAGE_STRING=\"GNU\ Hurd\ 0.9\" -DPACKAGE_BUGREPORT=\"bug-hurd <at> gnu.org\" -DPACKAGE_URL=\"http://www.gnu.org/software/hurd/\" -DUTIME_NOW=-1 -DUTIME_OMIT=-2 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DX11_PREFIX=\"\" -DHAVE_STRUCT_THREAD_SCHED_INFO_LAST_PROCESSOR=1  -c -o exec-reauth.o exec-reauth.c
In file included from /gnu/store/manl7sfylldlpcsdgngbs2b07pf29y8l-glibc-bootstrap-0/include/mach.h:37:0,
                 from exec-reauth.c:22:
/gnu/store/manl7sfylldlpcsdgngbs2b07pf29y8l-glibc-bootstrap-0/include/mach/mach_host.h:489:2: error: unknown type name 'kernel_boot_info_t'
  kernel_boot_info_t boot_info
  ^
/gnu/store/manl7sfylldlpcsdgngbs2b07pf29y8l-glibc-bootstrap-0/include/mach/mach_host.h:978:2: error: unknown type name 'kernel_boot_info_t'
  kernel_boot_info_t boot_info
  ^
exec-reauth.c: In function 'reauth':
exec-reauth.c:71:21: error: implicit declaration of function 'proc_reauthenticate_complete' [-Werror=implicit-function-declaration]
               err = proc_reauthenticate_complete (newport);
                     ^
cc1: some warnings being treated as errors
make[1]: *** [<builtin>: exec-reauth.o] Error 1
make[1]: Leaving directory '/tmp/guix-build-hurd-minimal-boot0-0.9.git20231217.drv-0/source/libshouldbeinlibc'
make: *** [Makefile:262: libshouldbeinlibc] Error 2
error: in phase 'build': uncaught exception:
srfi-34 #<condition &invoke-error [program: "make" arguments: ("-j" "1" "lib-subdirs=libshouldbeinlibc libihash libstore" "prog-subdirs=" "other-subdirs=") exit-status: 2 term-signal: #f stop-signal: #f] 7e9700> 
phase `build' failed after 4.1 seconds
command "make" "-j" "1" "lib-subdirs=libshouldbeinlibc libihash libstore" "prog-subdirs=" "other-subdirs=" failed with status 2
builder for `/gnu/store/pb157d8kfdsdz6grqrksha459aqjh99l-hurd-minimal-boot0-0.9.git20231217.drv' failed with exit code 1
@ build-failed /gnu/store/pb157d8kfdsdz6grqrksha459aqjh99l-hurd-minimal-boot0-0.9.git20231217.drv - 1 builder for `/gnu/store/pb157d8kfdsdz6grqrksha459aqjh99l-hurd-minimal-boot0-0.9.git20231217.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

This is beacuse <mach/mach_host.h> in ‘glibc-bootstrap’ expects
‘kernel_boot_info_t’ to be defined, but the <mach/host_info.h> header
from the updated ‘gnumach-headers-boot0’ no longer defines it.

(Note that there’s additional confusion due to origin inheritance:
upgrading ‘gnumach-headers’ upgrades ‘gnumach-headers-boot0’, even
though that’s not indented.)

The patch below reverts to something close to what we have on ‘master’,
but glibc 2.39 fails to build then:

--8<---------------cut here---------------start------------->8---
i586-guix-gnu-gcc msg-destroy.c -c -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fno-stack-protector -fno-common -Wp,-U_FORTIFY_SOURCE -Wno-parentheses -Wstrict-prototypes -Wold-style-definition -fmath-errno    -fPIE     -ftls-model=initial-exec     -I../include -I/tmp/guix-build-glibc-intermediate-2.39.drv-0/build/mach  -I/tmp/guix-build-glibc-intermediate-2.39.drv-0/build  -I../sysdeps/mach/hurd/i386  -I../sysdeps/mach/hurd/x86  -I../sysdeps/mach/hurd/i386/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/i386/htl  -I../sysdeps/x86/htl  -I../sysdeps/mach/hurd  -I../sysdeps/gnu  -I../sysdeps/unix/bsd  -I../sysdeps/unix/inet  -I../sysdeps/mach/i386  -I../sysdeps/mach/x86  -I../sysdeps/mach/include -I../sysdeps/mach  -I../sysdeps/i386/i586  -I../sysdeps/i386/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/i386  -I../sysdeps/x86/include -I../sysdeps/x86  -I../sysdeps/wordsize-32  -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/ieee754  -I../sysdeps/generic -I../hurd -I/tmp/guix-build-glibc-intermediate-2.39.drv-0/build/hurd/ -I../mach -I/tmp/guix-build-glibc-intermediate-2.39.drv-0/build/mach/ -I.. -I../libio -I. -nostdinc -isystem /gnu/store/vkqj1gblhllcj9k26jpjp13qwcm55j8p-gcc-cross-boot0-11.4.0-lib/lib/gcc/i586-guix-gnu/11.4.0/include -isystem /gnu/store/vkqj1gblhllcj9k26jpjp13qwcm55j8p-gcc-cross-boot0-11.4.0-lib/lib/gcc/i586-guix-gnu/11.4.0/include-fixed -isystem /gnu/store/vqdzmb3i7ds3ghwvlj44xcasgq8nln55-hurd-core-headers-0.9.git20231217/include -D_LIBC_REENTRANT -include /tmp/guix-build-glibc-intermediate-2.39.drv-0/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC     -DTOP_NAMESPACE=glibc -o /tmp/guix-build-glibc-intermediate-2.39.drv-0/build/mach/msg-destroy.o -MD -MP -MF /tmp/guix-build-glibc-intermediate-2.39.drv-0/build/mach/msg-destroy.o.dt -MT /tmp/guix-build-glibc-intermediate-2.39.drv-0/build/mach/msg-destroy.o
msg-destroy.c: In function '__mach_msg_destroy':
msg-destroy.c:114:21: error: unknown type name 'mach_port_name_inlined_t'; did you mean 'mach_port_name_array_t'?
  114 |                     mach_port_name_inlined_t *inlined_ports = (mach_port_name_inlined_t *)addr;
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
      |                     mach_port_name_array_t
msg-destroy.c:114:64: error: 'mach_port_name_inlined_t' undeclared (first use in this function); did you mean 'mach_port_name_array_t'?
  114 |                     mach_port_name_inlined_t *inlined_ports = (mach_port_name_inlined_t *)addr;
      |                                                                ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                mach_port_name_array_t
msg-destroy.c:114:64: note: each undeclared identifier is reported only once for each function it appears in
msg-destroy.c:114:90: error: expected expression before ')' token
  114 |                     mach_port_name_inlined_t *inlined_ports = (mach_port_name_inlined_t *)addr;
      |                                                                                          ^
msg-destroy.c:116:63: error: request for member 'name' in something not a structure or union
  116 |                         mach_msg_destroy_port(inlined_ports[i].name, name);
      |                                                               ^
make[2]: *** [../o-iterator.mk:9: /tmp/guix-build-glibc-intermediate-2.39.drv-0/build/mach/msg-destroy.o] Error 1
make[2]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.39.drv-0/glibc-2.39/mach'
make[1]: *** [Makefile:484: mach/subdir_lib] Error 2
make[1]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.39.drv-0/glibc-2.39'
make: *** [Makefile:9: all] Error 2
error: in phase 'build': uncaught exception:
srfi-34 #<condition &invoke-error [program: "make" arguments: ("-j" "1") exit-status: 2 term-signal: #f stop-signal: #f] 9a4da0> 
phase `build' failed after 44.6 seconds
command "make" "-j" "1" failed with status 2
builder for `/gnu/store/18p66bbg3w2l4rmvkqc0z57bl0j1wqlq-glibc-intermediate-2.39.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

Any idea where to go from here?

Of course we could upgrade ‘glibc-bootstrap’, but it’s even better if we
can avoid it.

Ludo’.

[Message part 5 (text/x-patch, inline)]
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index b31f976900..911625003c 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2628,10 +2628,11 @@ (define gnumach-headers-boot0
    (package
      (inherit gnumach-headers)
      (name "gnumach-headers-boot0")
-     (version "1.8+git20230410")
+     ;; Note: The version used here must be compatible with the <mach.h> and
+     ;; related headers in 'glibc-bootstrap'.
+     (version "1.8+git20221224")
      (source
       (origin
-        (inherit (package-source gnumach-headers))
         (method
          (git-fetch-from-tarball
           (origin
@@ -2641,7 +2642,14 @@ (define gnumach-headers-boot0
                   "gnumach-" version ".tar.gz"))
             (sha256
              (base32
-              "1s09256g2ny46idrn8frzs7r51la9ni45bmglmswlsmz9ii7dpi4")))))))
+              "0vb19ynvrxz302snqxkd0wgizwa5fw2x06a4zjsllqb9ijbq9mc8")))))
+        (uri (git-reference
+              (url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name "gnumach" version))
+        (sha256
+         (base32
+          "0f49zqxf64ds75rmskizpybl2mw7sxs05k59gjp3pgspvr87w7gs"))))
      (native-inputs (list autoconf-boot0 automake-boot0 texinfo-boot0))
      (arguments
       (substitute-keyword-arguments (package-arguments gnumach-headers)
@@ -2691,10 +2699,9 @@ (define hurd-headers-boot0
    (package
      (inherit hurd-headers)
      (name "hurd-headers-boot0")
-     (version "0.9.git20230520")
+     (version "0.9.git20230216")
      (source
       (origin
-        (inherit (package-source hurd-headers))
         (method
          (git-fetch-from-tarball
           (origin
@@ -2704,7 +2711,14 @@ (define hurd-headers-boot0
                   "hurd-v" version ".tar.gz"))
             (sha256
              (base32
-              "0ybmx7bhy21zv1if2hfdspn13zn68vki1na72sw2jj87gj8przna")))))))
+              "1f75nlkcl00dqnnrbrj1frvzs2qibfpygj3gwywqi85aldjl48y7")))))
+        (uri (git-reference
+              (url "https://git.savannah.gnu.org/git/hurd/hurd.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0jm1dnqkx4kdwmby0z5w0yqp9m5qp4hbxd4jxlyhiqm8nkw9mkvv"))))
      (native-inputs
       (list autoconf-boot0 automake-boot0 mig-boot0))
      (inputs '()))))
@@ -2714,10 +2728,12 @@ (define hurd-minimal-boot0
    (package
      (inherit hurd-minimal)
      (name "hurd-minimal-boot0")
+     (version (package-version hurd-headers-boot0))
      (source (package-source hurd-headers-boot0))
      (native-inputs
       (list autoconf-boot0 automake-boot0 gnumach-headers-boot0 mig-boot0))
-     (inputs (list gnumach-headers-boot0)))))
+     (inputs (list gnumach-headers-boot0))
+     (propagated-inputs '()))))
 
 (define/system-dependent hurd-core-headers-boot0
   ;; Return the Hurd and Mach headers as well as initial Hurd libraries for

This bug report was last modified 330 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.