diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 2959616af6..9db12bcf9f 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -577,7 +577,20 @@ (define* (cross-libc* target ((#:configure-flags flags) `(cons ,(string-append "--host=" target) ,(if (target-hurd? target) - `(cons "--disable-werror" ,flags) + `(cons* "--disable-werror" + + ;; '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=yes" + "libc_cv_mach_task_creation_time=yes" + ,flags) flags))) ((#:phases phases) `(modify-phases ,phases