Re: bug#30537: glibc 2.26 refuses to run on CentOS 6.8

2018-02-22 Thread Efraim Flashner
On Wed, Feb 21, 2018 at 06:12:31PM -0500, Mark H Weaver wrote:
> Hi Ricardo,
> 
...
> 
> 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.
> 

Probably a misunderstanding on my part, I assumed it was switched to
package/inherit as part of the grafting, and then should be switched
back.

> It'll be painful to have *everything* grafted until the next
> core-updates cycle, but I suppose it's necessary.
> 
>   Thanks,
> Mark
> 

We could also have an 'ungraft everything' branch before we get to the
next round of core-updates.

-- 
Efraim Flashner      אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: bug#30537: glibc 2.26 refuses to run on CentOS 6.8

2018-02-21 Thread Mark H Weaver
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



Re: bug#30537: glibc 2.26 refuses to run on CentOS 6.8

2018-02-20 Thread Efraim Flashner
On Mon, Feb 19, 2018 at 07:46:02PM +0100, Ricardo Wurmus wrote:
> Hi Guix,
> 
> I have a bad day.  After the upgrade to glibc 2.26 none of the
> Guix-installed software runs on the HPC cluster running CentOS 6.8.
> 
> The glibc 2.26 expects a minimum kernel version of 3.x on x86_64, but
> CentOS 6.8 only comes with a heavily patched 2.6.32.
> 
> The NixOS developers patch glibc to make sure that all software still
> runs on Linux 2.6.32:
> 
> 
> https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch
> 
> Can we please also apply this?  Without this Guix on HPC is pretty much
> dead at the MDC.
> 

We should also update the docs with the (new) minimum specs as needed.

-- 
Efraim Flashner      אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature