From 497811b66f4fb065e7406cc4ce0bd1220383d404 Mon Sep 17 00:00:00 2001 From: Janneke Nieuwenhuizen Date: Wed, 1 Jan 2025 13:59:17 +0100 Subject: [PATCH] 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 0d017ef5b06e70dbaab01ec9afc77f13f2b0cc7e..737f2c904145888e271aa65460041e3e087b5036 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1303,7 +1303,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