GNU bug report logs - #37549
guix build bootstrap-tarballs installed but strip-install failed

Previous Next

Package: guix;

Reported by: Bengt Richter <bokr <at> bokr.com>

Date: Sun, 29 Sep 2019 07:08:01 UTC

Severity: normal

To reply to this bug, email your comments to 37549 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#37549; Package guix. (Sun, 29 Sep 2019 07:08:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bengt Richter <bokr <at> bokr.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 29 Sep 2019 07:08:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Bengt Richter <bokr <at> bokr.com>
To: New-Bug <bug-guix <at> gnu.org>
Subject: guix build bootstrap-tarballs installed but strip-install failed
Date: Sun, 29 Sep 2019 00:07:12 -0700
I tried
    guix build bootstrap-tarballs

and it seems to have worked the whole way until then end,
(though I thought I saw warnings about exit and abort being undefined)
leaving the following on the screen:

----8<--------------------------------------------------->8----
PASS: lib/tests/scaffold/a0-math-divide-signed-negative.c
PASS: lib/tests/scaffold/a1-global-no-align.c
PASS: lib/tests/scaffold/a1-global-no-clobber.c
============================================================================
Testsuite summary for GNU Mes
============================================================================
# TOTAL: 191
# PASS:  185
# SKIP:  0
# XFAIL: 6
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
phase `check' succeeded after 384.4 seconds
starting phase `install'
GNUmakefile:159: skipping info: no makeinfo
GNUmakefile:165: skipping man: no help2man
GNUmakefile:192: info: graphvis missing: no images
GNUmakefile:286: update-hash: no guix
/gnu/store/4yyw7brvww6dk9cwwvdq724qdfz2zn0v-bash-minimal-4.4.23/bin/bash install.sh
phase `install' succeeded after 0.1 seconds
starting phase `strip-install'
Backtrace:
           6 (primitive-load "/gnu/store/dk0ywzl09zqcdvln8j7l4sla61h?")
In ice-9/eval.scm:
   191:35  5 (_ _)
In srfi/srfi-1.scm:
   863:16  4 (every1 #<procedure 82648e0 at /gnu/store/qjikgbmjfn61?> ?)
In /gnu/store/qjikgbmjfn618665s8jnn4r3zg5xzf8c-module-import/guix/build/gnu-build-system.scm:
   799:28  3 (_ _)
In ice-9/eval.scm:
    619:8  2 (_ #(#(#(#(#<directory (guile-user) 817e910>) (?)) #) #))
In /gnu/store/qjikgbmjfn618665s8jnn4r3zg5xzf8c-module-import/guix/build/utils.scm:
   340:23  1 (delete-file-recursively "/gnu/store/xjbkz6645qccnvfkm?" ?)
In unknown file:
           0 (lstat "/gnu/store/xjbkz6645qccnvfkmbc4wsvh7lffg2jn-mes?")

ERROR: In procedure lstat:
In procedure lstat: No such file or directory: "/gnu/store/xjbkz6645qccnvfkmbc4wsvh7lffg2jn-mes-minimal-0.20/share/mes/scaffold"
builder for `/gnu/store/w8y538fhxr9d9sm6653jq5xsl89q0aqk-mes-minimal-0.20.drv' failed with exit code 1
build of /gnu/store/w8y538fhxr9d9sm6653jq5xsl89q0aqk-mes-minimal-0.20.drv failed
View build log at '/var/log/guix/drvs/w8/y538fhxr9d9sm6653jq5xsl89q0aqk-mes-minimal-0.20.drv.bz2'.
cannot build derivation `/gnu/store/xccfsbs29dhimindp133c172nskyjx72-mes-minimal-stripped-0.20.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/pjrx07gwqlh6di8in8f401jqghwriqx6-mes-minimal-stripped-tarball-0.20.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/fqcvn41c0ja1ml7hl1pbbaadgbm29xyd-bootstrap-tarballs-0.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/fqcvn41c0ja1ml7hl1pbbaadgbm29xyd-bootstrap-tarballs-0.drv' failed
[21:39 ~/ug/test]$ su -c 'setterm -file guix-build-bootstrap-tarballs.txt -dump 1'
----8<--------------------------------------------------->8----

Looking in /gnu:
----8<--------------------------------------------------->8----
[22:25 ~/ug/test]$ find /gnu -iname '*mes-minimal*' > find-mes-minimal.txt
...
[22:27 ~/ug/test]$ less find-mes-minimal.txt
/gnu/store/xjbkz6645qccnvfkmbc4wsvh7lffg2jn-mes-minimal-0.20.lock
/gnu/store/dk0ywzl09zqcdvln8j7l4sla61h9zwra-mes-minimal-0.20-guile-builder
/gnu/store/w8y538fhxr9d9sm6653jq5xsl89q0aqk-mes-minimal-0.20.drv
/gnu/store/rpcmp8ip1vwjzbw60ihq686zs7m3wiak-mes-minimal-stripped-0.20-guile-builder
/gnu/store/xccfsbs29dhimindp133c172nskyjx72-mes-minimal-stripped-0.20.drv
/gnu/store/arn6dk33rlwpv20kjc84x0gkmii4hhx6-mes-minimal-stripped-tarball-0.20-guile-builder
/gnu/store/pjrx07gwqlh6di8in8f401jqghwriqx6-mes-minimal-stripped-tarball-0.20.drv
/gnu/store/xjbkz6645qccnvfkmbc4wsvh7lffg2jn-mes-minimal-0.20
----8<--------------------------------------------------->8----

guix describe
----8<--------------------------------------------------->8----
Generation 13	Sep 13 2019 18:20:16	(current)
  guix 6e377b8
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 6e377b88930226f3f74ba9fac74d80c36494d9be
----8<--------------------------------------------------->8----    



----8<--------------------------------------------------->8----    
[23:24 ~/ug/test]$ readlink $(find /gnu -iname '*bootstrap*tarballs-0')/*|xargs file
/gnu/store/ciprl3dvgxnh290jfxwiyybn5g9zm525-binutils-static-stripped-tarball-2.31.1/binutils-static-stripped-2.31.1-x86_64-linux.tar.xz: XZ compressed data
/gnu/store/ylkls2zc2144bi5k2zr73g4zfpkn8w7r-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-x86_64-linux.tar.xz:                           XZ compressed data
/gnu/store/36hi46xywgskl35f3n94m6f5lvalxdwr-glibc-stripped-tarball-2.28/glibc-stripped-2.28-x86_64-linux.tar.xz:                         XZ compressed data
/gnu/store/7wnpikfng5kdg7bnjd49dmmgswlsfd5c-guile-static-stripped-tarball-2.2.4/guile-static-stripped-2.2.4-x86_64-linux.tar.xz:         XZ compressed data
/gnu/store/xy17z7ichfr1gdpw53cqpd3b3zzfzmc7-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz:                             XZ compressed data
[23:24 ~/ug/test]$
[23:24 ~/ug/test]$ readlink $(find /gnu -iname '*bootstrap*tarballs-0')/*|xargs lsc
~/ug/test:
          1,819,060 1969-12-31 16:00:01 [f] /gnu/store/36hi46xywgskl35f3n94m6f5lvalxdwr-glibc-stripped-tarball-2.28/glibc-stripped-2.28-x86_64-linux.tar.xz
          5,930,448 1969-12-31 16:00:01 [f] /gnu/store/7wnpikfng5kdg7bnjd49dmmgswlsfd5c-guile-static-stripped-tarball-2.2.4/guile-static-stripped-2.2.4-x86_64-l
inux.tar.xz
          2,157,516 1969-12-31 16:00:01 [f] /gnu/store/ciprl3dvgxnh290jfxwiyybn5g9zm525-binutils-static-stripped-tarball-2.31.1/binutils-static-stripped-2.31.1-
x86_64-linux.tar.xz
          6,099,348 1969-12-31 16:00:01 [f] /gnu/store/xy17z7ichfr1gdpw53cqpd3b3zzfzmc7-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
         18,737,136 1969-12-31 16:00:01 [f] /gnu/store/ylkls2zc2144bi5k2zr73g4zfpkn8w7r-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-x86_64-linux.tar.xz
----8<--------------------------------------------------->8----    
Looks like the tarballs did wind up in store...

I just happened to be reading info guix and thought I'd try that simple command,
guix build bootstrap-tarballs, not realizing how long it would take :-)

FWIW, the only thing I could find relevant to scaffold was in an ocaml thing:
guix package -s scaffold
----8<--------------------------------------------------->8----
name: ocaml-ppx-compare
version: 0.11.1
outputs: out
systems: x86_64-linux i686-linux armhf-linux aarch64-linux mips64el-linux
dependencies: ocaml-base <at> 0.11.1 ocaml-migrate-parsetree <at> 1.4.0
+ ocaml-ppxlib <at> 0.6.0
location: gnu/packages/ocaml.scm:4076:2
homepage: https://github.com/janestreet/ppx_compare
license: ASL 2.0
synopsis: Generation of comparison functions from types  
description: Generation of fast comparison functions from type expressions and
+ definitions.  Ppx_compare is a ppx rewriter that derives comparison functions
+ from type representations.  The scaffolded functions are usually much faster
+ than ocaml's Pervasives.compare.  Scaffolding functions also gives you more
+ flexibility by allowing you to override them for a specific type and more
+ safety by making sure that you only compare comparable values.
relevance: 4
----8<--------------------------------------------------->8----

HTH in some way.

Regards,
Bengt Richter




Information forwarded to bug-guix <at> gnu.org:
bug#37549; Package guix. (Sun, 29 Sep 2019 09:07:01 GMT) Full text and rfc822 format available.

Message #8 received at 37549 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Bengt Richter <bokr <at> bokr.com>
Cc: 37549 <at> debbugs.gnu.org
Subject: Re: bug#37549: guix build bootstrap-tarballs installed but
 strip-install failed
Date: Sun, 29 Sep 2019 11:05:59 +0200
Bengt Richter writes:

> I tried
>     guix build bootstrap-tarballs

Yes, sadly that's not supported on current master.  It should work on
core-updates.  So I tried that and found it fails in similar ways.

> ERROR: In procedure lstat:
> In procedure lstat: No such file or directory: "/gnu/store/xjbkz6645qccnvfkmbc4wsvh7lffg2jn-mes-minimal-0.20/share/mes/scaffold"
> builder for `/gnu/store/w8y538fhxr9d9sm6653jq5xsl89q0aqk-mes-minimal-0.20.drv' failed with exit code 1
> build of /gnu/store/w8y538fhxr9d9sm6653jq5xsl89q0aqk-mes-minimal-0.20.drv failed

Ah, that's not good.  The new Reduced Binary Seed bootstrap must use Mes
0.19.  Building the new bootstrap binaries is -- apparently -- only
works on tag bootstrap-20190815.

> HTH in some way.

Yes, thank you; I'm looking into it.  Mes should be fixed on 0.19,
MesCC-Tools schould be fixed on 0.5.2 and I just found that building
bootstrap-bash also breaks due to an update to bash-5.

Greetings,
jannneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




Information forwarded to bug-guix <at> gnu.org:
bug#37549; Package guix. (Sun, 29 Sep 2019 11:35:02 GMT) Full text and rfc822 format available.

Message #11 received at 37549 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Bengt Richter <bokr <at> bokr.com>
Cc: 37549 <at> debbugs.gnu.org
Subject: Re: bug#37549: guix build bootstrap-tarballs installed but
 strip-install failed
Date: Sun, 29 Sep 2019 13:33:41 +0200
[Message part 1 (text/plain, inline)]
Jan Nieuwenhuizen writes:

> Bengt Richter writes:
>> I tried
>>     guix build bootstrap-tarballs
>
> Yes, sadly that's not supported on current master.  It should work on
> core-updates.  So I tried that and found it fails in similar ways.

The attached patches resurrect the creation of bootstrap tarballs.

Note that plain mes (./pre-inst-env guix build mes) still does not
build; that also needs #37550.

Greetings,
janneke

[0001-bootstrap-mescc-tools-Use-mescc-tools-0.5.2-mescc-to.patch (text/x-patch, inline)]
From 74607653378ca1bcfed6a415a7432fd2a8af7105 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Sun, 29 Sep 2019 10:36:46 +0200
Subject: [PATCH 1/3] bootstrap: mescc-tools: Use mescc-tools-0.5.2,
 mescc-tools.

* gnu/packages/mes.scm (mescc-tools-0.5.2): New variable; rename from
mescc-tools.
(mescc-tools): Rename from mescc-tools-0.6.1.  Fix build.
* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Inherit fixed
mescc-tools-0.5.2.
---
 gnu/packages/make-bootstrap.scm | 25 +------------------------
 gnu/packages/mes.scm            | 17 ++++++++++++-----
 2 files changed, 13 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 4594e2fe36..8db551b3a7 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -594,34 +594,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            #t))))
     (inputs `(("gcc" ,%gcc-static)))))
 
-;; One package: build + remove store references
-;; (define %mescc-tools-static-stripped
-;;   ;; A statically linked Mescc Tools with store references removed, for
-;;   ;; bootstrap.
-;;   (package
-;;     (inherit mescc-tools)
-;;     (name "mescc-tools-static-stripped")
-;;     (arguments
-;;      `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
-;;                           "CC=gcc -static")
-;;        #:test-target "test"
-;;        #:phases (modify-phases %standard-phases
-;;                   (delete 'configure)
-;;                   (add-after 'install 'strip-store-references
-;;                     (lambda _
-;;                       (let* ((out (assoc-ref %outputs "out"))
-;;                              (bin (string-append out "/bin")))
-;;                         (for-each (lambda (file)
-;;                                  (let ((target (string-append bin "/" file)))
-;;                                    (format #t "strippingg `~a'...~%" target)
-;;                                    (remove-store-references target)))
-;;                                   '( "M1" "blood-elf" "hex2"))))))))))
-
 ;; Two packages: first build static, bare minimum content.
 (define %mescc-tools-static
   ;; A statically linked MesCC Tools.
   (package
-    (inherit mescc-tools)
+    (inherit mescc-tools-0.5.2)
     (name "mescc-tools-static")
     (arguments
      `(#:system "i686-linux"
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index e1cb736b82..3f76eeb886 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -34,7 +34,8 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix licenses)
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (guix utils))
 
 (define-public nyacc-0.86
   (package
@@ -134,7 +135,8 @@ Guile.")
     (home-page "https://gnu.org/software/mes")
     (license gpl3+)))
 
-(define-public mescc-tools
+(define-public mescc-tools-0.5.2
+  ;; Mescc-tools used for bootstrap.
   (let ((commit "bb062b0da7bf2724ca40f9002b121579898d4ef7")
         (revision "0")
         (version "0.5.2"))
@@ -166,9 +168,9 @@ get_machine.")
     (home-page "https://savannah.nongnu.org/projects/mescc-tools")
     (license gpl3+))))
 
-(define-public mescc-tools-0.6.1
+(define-public mescc-tools
   (package
-    (inherit mescc-tools)
+    (inherit mescc-tools-0.5.2)
     (name "mescc-tools")
     (version "0.6.1")
     (source (origin
@@ -180,4 +182,9 @@ get_machine.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "06jpvq6xfjzn2al6b4rdwd3zv3h4cvilc4n9gqcnjr9cr6wjpw2n"))))))
+                "06jpvq6xfjzn2al6b4rdwd3zv3h4cvilc4n9gqcnjr9cr6wjpw2n"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2)
+       ((#:make-flags flags)
+        `(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+               "CC=gcc"))))))
-- 
2.23.0

[0002-bootstrap-mes-Add-mes-0.19.patch (text/x-patch, inline)]
From 98382db4246a418b9e85a65f3e1a292fa5001e91 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Sun, 29 Sep 2019 10:39:40 +0200
Subject: [PATCH 2/3] bootstrap: mes: Add mes-0.19.

* gnu/packages/mes.scm (mes-0.19): New variable.
(mes): Inherit it.
* gnu/packages/make-bootstrap.scm (%mes-minimal): Likewise.
---
 gnu/packages/make-bootstrap.scm | 35 +--------------------------------
 gnu/packages/mes.scm            | 27 ++++++++++++++++++++-----
 2 files changed, 23 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 8db551b3a7..b1c4feb4f4 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -633,45 +633,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            #t))))
     (inputs `(("mescc-tools" ,%mescc-tools-static)))))
 
-;; (define-public %mes-minimal-stripped
-;;   ;; A minimal Mes without documentation dependencies, for bootstrap.
-;;   (let ((triplet "i686-unknown-linux-gnu"))
-;;     (package
-;;       (inherit mes)
-;;       (name "mes-minimal-stripped")
-;;       (native-inputs
-;;        `(("guile" ,guile-2.2)))
-;;       (arguments
-;;        `(#:system "i686-linux"
-;;          #:strip-binaries? #f
-;;          #:configure-flags '("--mes")
-;;          #:phases
-;;          (modify-phases %standard-phases
-;;            (delete 'patch-shebangs)
-;;            (add-after 'install 'strip-install
-;;              (lambda _
-;;                (let* ((out (assoc-ref %outputs "out"))
-;;                       (share (string-append out "/share")))
-;;                  (delete-file-recursively (string-append out "/lib/guile"))
-;;                  (delete-file-recursively (string-append share "/guile"))
-;;                  (delete-file-recursively (string-append share "/mes/scaffold"))
-
-;;                  (for-each delete-file
-;;                            (find-files
-;;                             (string-append share "/mes/lib") "\\.(h|c)"))
-
-;;                  (for-each (lambda (dir)
-;;                              (for-each remove-store-references
-;;                                        (find-files (string-append out "/" dir)
-;;                                                    ".*")))
-;;                            '("bin" "share/mes")))))))))))
-
 ;; Two packages: first build static, bare minimum content.
 (define-public %mes-minimal
   ;; A minimal Mes without documentation.
   (let ((triplet "i686-unknown-linux-gnu"))
     (package
-      (inherit mes)
+      (inherit mes-0.19)
       (name "mes-minimal")
       (native-inputs
        `(("guile" ,guile-2.2)))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 3f76eeb886..a01e98b855 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -38,6 +38,7 @@
   #:use-module (guix utils))
 
 (define-public nyacc-0.86
+  ;; Nyacc used for bootstrap.
   (package
     (name "nyacc")
     (version "0.86.0")
@@ -91,22 +92,23 @@ extensive examples, including parsers for the Javascript and C99 languages.")
     (inputs
      `(("guile" ,guile-2.2)))))
 
-(define-public mes
+(define-public mes-0.19
+  ;; Mes used for bootstrap.
   (package
     (name "mes")
-    (version "0.20")
+    (version "0.19")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/mes/"
                                   "mes-" version ".tar.gz"))
               (sha256
                (base32
-                "04pajp8v31na34ls4730ig5f6miiplhdvkmsb9ls1b8bbmw2vb4n"))))
+                "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
     (build-system gnu-build-system)
     (supported-systems '("i686-linux" "x86_64-linux"))
     (propagated-inputs
-     `(("mescc-tools" ,mescc-tools)
-       ("nyacc" ,nyacc)))
+     `(("mescc-tools" ,mescc-tools-0.5.2)
+       ("nyacc" ,nyacc-0.86)))
     (native-inputs
      `(("guile" ,guile-2.2)
        ,@(let ((target-system (or (%current-target-system)
@@ -135,6 +137,21 @@ Guile.")
     (home-page "https://gnu.org/software/mes")
     (license gpl3+)))
 
+(define-public mes
+  (package
+    (inherit mes-0.19)
+    (version "0.20")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/mes/"
+                                  "mes-" version ".tar.gz"))
+              (sha256
+               (base32
+                "04pajp8v31na34ls4730ig5f6miiplhdvkmsb9ls1b8bbmw2vb4n"))))
+    (propagated-inputs
+     `(("mescc-tools" ,mescc-tools)
+       ("nyacc" ,nyacc)))))
+
 (define-public mescc-tools-0.5.2
   ;; Mescc-tools used for bootstrap.
   (let ((commit "bb062b0da7bf2724ca40f9002b121579898d4ef7")
-- 
2.23.0

[0003-bootstrap-bash-Update-for-bash-5.0.patch (text/x-patch, inline)]
From a7bc0810e89013c4b908e29ed0d97ca8317c7ad7 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Sun, 29 Sep 2019 12:01:51 +0200
Subject: [PATCH 3/3] bootstrap: bash: Update for bash-5.0.

* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: Remove.
* gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch: New file.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): Update to use
it.
* gnu/local.mk (dist_patch_DATA): Likewise.
---
 gnu/local.mk                                  |  4 +--
 gnu/packages/make-bootstrap.scm               |  2 +-
 .../patches/bash-4.4-linux-pgrp-pipe.patch    | 30 ----------------
 .../bash-reproducible-linux-pgrp-pipe.patch   | 34 +++++++++++++++++++
 4 files changed, 37 insertions(+), 33 deletions(-)
 delete mode 100644 gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
 create mode 100644 gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9bd1e8882b..18a25e6bc7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -11,7 +11,7 @@
 # Copyright © 2016 Ben Woodcroft <donttrustben <at> gmail.com>
 # Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995 <at> gmail.com>
 # Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim <at> flashner.co.il>
-# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke <at> gnu.org>
+# Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
 # Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
 # Copyright © 2017, 2018 Clément Lassieur <clement <at> lassieur.org>
 # Copyright © 2017 Mathieu Othacehe <m.othacehe <at> gmail.com>
@@ -706,7 +706,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/avidemux-install-to-lib.patch		\
   %D%/packages/patches/awesome-reproducible-png.patch		\
   %D%/packages/patches/azr3.patch				\
-  %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch		\
+  %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch	\
   %D%/packages/patches/bash-completion-directories.patch	\
   %D%/packages/patches/bastet-change-source-of-unordered_set.patch	\
   %D%/packages/patches/bazaar-CVE-2017-14176.patch		\
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index b1c4feb4f4..3a664fd94f 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -164,7 +164,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
     (source (origin
               (inherit (package-source static-bash))
               (patches
-               (cons (search-patch "bash-4.4-linux-pgrp-pipe.patch")
+               (cons (search-patch "bash-reproducible-linux-pgrp-pipe.patch")
                      (origin-patches (package-source static-bash))))))))
 
 (define %static-inputs
diff --git a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
deleted file mode 100644
index 0d03d7ce37..0000000000
--- a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
-the kernel version in use on the build machine.
-
---- configure.ac.orig	1969-12-31 19:00:00.000000000 -0500
-+++ configure.ac	2019-08-11 22:28:26.038841961 -0400
-@@ -1092,9 +1092,7 @@
- solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
- lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
- linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
--		case "`uname -r`" in
--		2.[[456789]]*|[[34]]*)	AC_DEFINE(PGRP_PIPE) ;;
--		esac ;;
-+		AC_DEFINE(PGRP_PIPE) ;;
- *qnx6*)		LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
- *qnx*)		LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
- powerux*)	LOCAL_LIBS="-lgen" ;;
---- configure.orig	1969-12-31 19:00:00.000000000 -0500
-+++ configure	2019-08-11 22:28:10.166763255 -0400
-@@ -16064,10 +16064,7 @@
- solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
- lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
- linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
--		case "`uname -r`" in
--		2.[456789]*|[34]*)	$as_echo "#define PGRP_PIPE 1" >>confdefs.h
-- ;;
--		esac ;;
-+		$as_echo "#define PGRP_PIPE 1" >>confdefs.h ;;
- *qnx6*)		LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
- *qnx*)		LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
- powerux*)	LOCAL_LIBS="-lgen" ;;
diff --git a/gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch
new file mode 100644
index 0000000000..8a03c4d982
--- /dev/null
+++ b/gnu/packages/patches/bash-reproducible-linux-pgrp-pipe.patch
@@ -0,0 +1,34 @@
+Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
+the kernel version in use on the build machine.
+
+diff -purN bash-5.0-orig/configure bash-5.0/configure
+--- configure	1970-01-01 01:00:00.000000000 +0100
++++ configure	2019-09-29 11:51:42.664518665 +0200
+@@ -16312,11 +16312,7 @@ solaris2.10*)	LOCAL_CFLAGS=-DSOLARIS  ;;
+ solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
+-		case "`uname -r`" in
+-		1.*|2.[0123]*)	: ;;
+-		*)	$as_echo "#define PGRP_PIPE 1" >>confdefs.h
+- ;;
+-		esac ;;
++		$as_echo "#define PGRP_PIPE 1" >>confdefs.h ;;
+ netbsd*|openbsd*)	LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
+ *qnx[67]*)	LOCAL_LIBS="-lncurses" ;;
+ *qnx*)		LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+diff -purN bash-5.0-orig/configure.ac bash-5.0/configure.ac
+--- configure.ac	1970-01-01 01:00:00.000000000 +0100
++++ configure.ac	2019-09-29 11:51:10.692026225 +0200
+@@ -1108,10 +1108,7 @@ solaris2.10*)	LOCAL_CFLAGS=-DSOLARIS  ;;
+ solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
+-		case "`uname -r`" in
+-		1.*|2.[[0123]]*)	: ;;
+-		*)	AC_DEFINE(PGRP_PIPE) ;;
+-		esac ;;
++		AC_DEFINE(PGRP_PIPE) ;;
+ netbsd*|openbsd*)	LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
+ *qnx[[67]]*)	LOCAL_LIBS="-lncurses" ;;
+ *qnx*)		LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
-- 
2.23.0

[Message part 5 (text/plain, inline)]
-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

Information forwarded to bug-guix <at> gnu.org:
bug#37549; Package guix. (Sun, 29 Sep 2019 16:14:02 GMT) Full text and rfc822 format available.

Message #14 received at 37549 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Bengt Richter <bokr <at> bokr.com>
Cc: 37549 <at> debbugs.gnu.org
Subject: Re: bug#37549: guix build bootstrap-tarballs installed but
 strip-install failed
Date: Sun, 29 Sep 2019 18:13:49 +0200
Jan Nieuwenhuizen writes:

> Jan Nieuwenhuizen writes:
>
>> Bengt Richter writes:
>>> I tried
>>>     guix build bootstrap-tarballs
>>
>> Yes, sadly that's not supported on current master.  It should work on
>> core-updates.  So I tried that and found it fails in similar ways.
>
> The attached patches resurrect the creation of bootstrap tarballs.

> +(define-public mescc-tools
..
> +     (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2)
> +       ((#:make-flags flags)

Changed to

    ((#:make-flags _)

As discussed on IRC.

> +        `(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
> +               "CC=gcc"))))))
> -- 

After discussing on IRC, pushed to core-updates as 737c83f0ff9977572516c65502bdde92abd18629.

This means that

    ./pre-inst-env guix build bootstrap-tarballs

now works on core-updates.  It will not work on master until
core-updates is merged.

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




This bug report was last modified 5 years and 256 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.