GNU bug report logs - #62307
[PATCH core-updates 00/15] Update Hurd and fix build failures

Previous Next

Package: guix-patches;

Reported by: Josselin Poiret <dev <at> jpoiret.xyz>

Date: Mon, 20 Mar 2023 22:08:01 UTC

Severity: normal

Tags: patch

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: Ludovic Courtès <ludo <at> gnu.org>
To: 62307 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>, Josselin Poiret <dev <at> jpoiret.xyz>
Subject: [bug#62307] [PATCH core-updates v2 01/20] gnu: glibc: Work around broken GNU Mach header detection.
Date: Tue, 28 Mar 2023 16:28:33 +0200
* gnu/packages/base.scm (%glibc/hurd-configure-flags): New variable.
(glibc)[arguments]: Use it.
(glibc/hurd-headers)[arguments]: likewise.
* gnu/packages/cross-base.scm (cross-libc*): Likewise.

Co-authored-by: Josselin Poiret <dev <at> jpoiret.xyz>
---
 gnu/packages/base.scm       | 19 ++++++++++++++++---
 gnu/packages/cross-base.scm |  4 +++-
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 041f16b4fc..520c2093f3 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -755,6 +755,17 @@ (define* (make-ld-wrapper name #:key
     (home-page "https://www.gnu.org/software/guix//")
     (license gpl3+)))
 
+(define-public %glibc/hurd-configure-flags
+  ;; 'configure' in glibc 2.35 omits to pass '-ffreestanding' when detecting
+  ;; Mach headers.  This is fixed in glibc commits
+  ;; 8b8c768e3c701ed1993789bb46acb8a12c7a93df and
+  ;; 7685630b98ca2a3f5de86eadf130993e6cf998a0; as a workaround, bypass those
+  ;; tests.
+  '("ac_cv_header_mach_mach_types_defs=yes"
+    "ac_cv_header_mach_mach_types_h=yes"
+    "ac_cv_header_mach_machine_ndr_def_h=no"
+    "libc_cv_mach_task_creation_time=yes"))
+
 (define-public glibc
   ;; This is the GNU C Library, used on GNU/Linux and GNU/Hurd.  Prior to
   ;; version 2.28, GNU/Hurd used a different glibc branch.
@@ -854,7 +865,8 @@ (define-public glibc
             ;; On GNU/Hurd we get discarded-qualifiers warnings for
             ;; 'device_write_inband' among other things.  Ignore them.
             ,@(if (hurd-target?)
-                  '("--disable-werror")
+                  `("--disable-werror"
+                    ,@%glibc/hurd-configure-flags)
                   '()))
 
       #:tests? #f                                 ; XXX
@@ -1392,9 +1404,10 @@ (define-public glibc/hurd-headers
     (arguments
      (substitute-keyword-arguments (package-arguments glibc)
        ;; We just pass the flags really needed to build the headers.
-       ((#:configure-flags _)
+       ((#:configure-flags flags)
         `(list "--enable-add-ons"
-               "--host=i586-pc-gnu"))
+               "--host=i586-pc-gnu"
+               ,@%glibc/hurd-configure-flags))
        ((#:phases _)
         '(modify-phases %standard-phases
            (replace 'install
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 2959616af6..f86e8005c4 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -577,7 +577,9 @@ (define* (cross-libc* target
            ((#:configure-flags flags)
             `(cons ,(string-append "--host=" target)
                    ,(if (target-hurd? target)
-                        `(cons "--disable-werror" ,flags)
+                        `(append (list "--disable-werror"
+                                       ,@%glibc/hurd-configure-flags)
+                                 ,flags)
                         flags)))
            ((#:phases phases)
             `(modify-phases ,phases
-- 
2.39.2





This bug report was last modified 2 years and 111 days ago.

Previous Next


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