janneke pushed a commit to branch core-packages-team
in repository guix.

commit 00333f171f247e5ee1048d1df46996475fce1b72
Author: Janneke Nieuwenhuizen <jann...@gnu.org>
AuthorDate: Wed Jan 1 13:59:17 2025 +0100

    gnu; glibc-2.33: Fix build with gcc-14.
    
    * gnu/packages/base.scm (glibc-2.33)[arguments]: New field to further relax
    gcc-14.'s strictness.
    
    Change-Id: Ib6ac5bc44608a56bb7dd584c21beadee280fe519
---
 gnu/packages/base.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 7db27da287..cdb5889ec2 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1305,7 +1305,28 @@ with the Linux kernel.")
                         (member (basename patch)
                                 '("glibc-2.35-CVE-2023-4911.patch"
                                   "glibc-hurd-clock_gettime_monotonic.patch")))
-                             (origin-patches (package-source 
glibc-2.35)))))))))
+                             (origin-patches (package-source glibc-2.35)))))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments glibc)
+       ((#:configure-flags flags #~'())
+        #~(cons* #$(string-append
+                    "CFLAGS=-g -O2"
+                    " -Wno-error=builtin-declaration-mismatch"
+                    " -Wno-error=format-overflow"
+                    " -Wno-error=stringop-overflow"
+                    " -Wno-error=use-after-free")
+                 "--enable-crypt"
+                 ;; We do not want to use the C++ compiler, because its
+                 ;; libstdc++ is linked against a newer glibc, and so relies
+                 ;; on those newer symbols.  Pretend it doesn't link (the test
+                 ;; doesn't actually check that the compiler works with new
+                 ;; libstdc++ and older glibc).
+                 "libc_cv_cxx_link_ok=no"
+                 #$flags))
+       ((#:phases phases)
+        `(modify-phases ,phases
+           ;; This phase fails trying to create /etc/ld.so.cache
+           (delete 'install-utf8-c-locale)))))))
 
 (define-public glibc-2.32
   (package

Reply via email to