Hi Ricardo, Ricardo Wurmus writes: > Ricardo Wurmus writes: > >> Here’s a patch to graft the glibc to apply the patch to allow the 2.6.32 >> kernel. I’m going to apply this at work now. > > That patch had a couple of problems. Here’s a new version. [...] > diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm > index b2c1d232f..111bbbcec 100644 > --- a/gnu/packages/base.scm > +++ b/gnu/packages/base.scm > @@ -12,6 +12,7 @@ > ;;; Copyright © 2017 Mathieu Othacehe > ;;; Copyright © 2017 Marius Bakke > ;;; Copyright © 2017 Eric Bavier > +;;; Copyright © 2018 Ricardo Wurmus > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -537,6 +538,7 @@ store.") > ;; Note: Always use a dot after the minor version since various places rely > ;; on "version-major+minor" to determine where locales are found. > (version "2.26.105-g0890d5379c") > + (replacement glibc-2.26-patched) > (source (origin > (method url-fetch) > (uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/" > @@ -839,10 +841,20 @@ GLIBC/HURD for a Hurd host" > ;; Below are old libc versions, which we use mostly to build locale data in > ;; the old format (which the new libc cannot cope with.) > > +(define glibc-2.26-patched > + (package > + (inherit glibc) > + (replacement #f) > + (source (origin > + (inherit (package-source glibc)) > + (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch") > + (origin-patches (package-source glibc)))))))) > + > (define-public glibc-2.25 > (package > (inherit glibc) > (version "2.25") > + (replacement #f) > (source (origin > (inherit (package-source glibc)) > (uri (string-append "mirror://gnu/glibc/glibc-" > @@ -862,6 +874,7 @@ GLIBC/HURD for a Hurd host" > (package > (inherit glibc) > (version "2.24") > + (replacement #f) > (source (origin > (inherit (package-source glibc)) > (uri (string-append "mirror://gnu/glibc/glibc-" > @@ -882,6 +895,7 @@ GLIBC/HURD for a Hurd host" > (package > (inherit glibc) > (version "2.23") > + (replacement #f) > (source (origin > (inherit (package-source glibc)) > (uri (string-append "mirror://gnu/glibc/glibc-" > @@ -905,6 +919,7 @@ GLIBC/HURD for a Hurd host" > (package > (inherit glibc) > (version "2.22") > + (replacement #f) > (source (origin > (inherit (package-source glibc)) > (uri (string-append "mirror://gnu/glibc/glibc-" These (replacement #f) fields should not be needed. 'replacement' is now an 'innate' field of the package record type, which means that it is not inherited. > diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm > index 7286e954c..db43691fd 100644 > --- a/gnu/packages/commencement.scm > +++ b/gnu/packages/commencement.scm > @@ -4,6 +4,7 @@ > ;;; Copyright © 2012 Nikita Karetnikov > ;;; Copyright © 2014, 2015, 2017 Mark H Weaver > ;;; Copyright © 2017, 2018 Efraim Flashner > +;;; Copyright © 2018 Ricardo Wurmus > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -486,7 +487,7 @@ the bootstrap environment." > ;; built just below; the only difference is that this one uses the > ;; bootstrap Bash. > (package-with-bootstrap-guile > - (package (inherit glibc) > + (package/inherit glibc > (name "glibc-intermediate") > (arguments > `(#:guile ,%bootstrap-guile > @@ -664,7 +665,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" > > (define glibc-final > ;; The final glibc, which embeds the statically-linked Bash built above. > - (package (inherit glibc-final-with-bootstrap-bash) > + (package/inherit glibc-final-with-bootstrap-bash > (name "glibc") > (inputs `(("static-bash" ,static-bash-for-glibc) > ,@(alist-delete We seem to be oscillating on the question of whether to graft these early GLIBCs. In June 2017, I switched to using 'package/inherit' here in commit 13f7f2fd2b208c29361ef2290f55911879a6adf2, and in October those changes were reverted in commit 848f550f2c105326dc3be4033c8aaf35ec21cde4 by Efraim, although I'm not sure why. It'll be painful to have *everything* grafted until the next core-updates cycle, but I suppose it's necessary. Thanks, Mark