guix build bootstrap-tarballs installed but strip-install failed

  • Open
  • quality assurance status badge
Details
2 participants
  • Bengt Richter
  • Jan Nieuwenhuizen
Owner
unassigned
Submitted by
Bengt Richter
Severity
normal
B
B
Bengt Richter wrote on 29 Sep 2019 09:07
(name . New-Bug)(address . bug-guix@gnu.org)
20190929070712.GA127225@PhantoNv4ArchGx.localdomain
Attachment: file
J
J
Jan Nieuwenhuizen wrote on 29 Sep 2019 11:05
(name . Bengt Richter)(address . bokr@bokr.com)(address . 37549@debbugs.gnu.org)
878sq74glk.fsf@gnu.org
Bengt Richter writes:

Toggle quote (3 lines)
> 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.

Toggle quote (5 lines)
> 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.

Toggle quote (2 lines)
> 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@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
J
J
Jan Nieuwenhuizen wrote on 29 Sep 2019 13:33
(name . Bengt Richter)(address . bokr@bokr.com)(address . 37549@debbugs.gnu.org)
87v9tb2v6y.fsf@gnu.org
Jan Nieuwenhuizen writes:

Toggle quote (7 lines)
> 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
From 74607653378ca1bcfed6a415a7432fd2a8af7105 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@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(-)

Toggle diff (89 lines)
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
From 98382db4246a418b9e85a65f3e1a292fa5001e91 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@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(-)

Toggle diff (116 lines)
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
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
J
J
Jan Nieuwenhuizen wrote on 29 Sep 2019 18:13
(name . Bengt Richter)(address . bokr@bokr.com)(address . 37549@debbugs.gnu.org)
87muen2i82.fsf@gnu.org
Jan Nieuwenhuizen writes:

Toggle quote (12 lines)
> 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
..
Toggle quote (3 lines)
> + (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2)
> + ((#:make-flags flags)

Changed to

((#:make-flags _)

As discussed on IRC.

Toggle quote (4 lines)
> + `(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@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 37549@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 37549
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch