[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
smallerizing bootstrap guile?
From: |
Efraim Flashner |
Subject: |
smallerizing bootstrap guile? |
Date: |
Mon, 4 Nov 2019 12:57:56 +0200 |
User-agent: |
Mutt/1.12.2 (2019-09-21) |
Ok, 'smallerizing' isn't a real word.
I'm trying again to see about porting Guix to 32-bit powerpc and I've
come across a problem with the static guile. static guile has bin/
share/ and lib/ outputs. Looking at (gnu packages bootstrap), the
make-guile-wrapper function around line 377 takes its own bin/guile to
wrap itself in the code from share and the precompiled go files in lib/.
Unfortunately on powerpc I'm getting the error:
/gnu/store/krb9h94g81f4xgsjwfs58p8fiir5gmpq-build-bootstrap-guile.sh: line 8:
5 Segmentation fault GUILE_SYSTEM_PATH=$out/share/guile/2.2
GUILE_SYSTEM_COMPILED_PATH=$out/lib/guile/2.2/ccache $out
/bin/guile -c "(begin (use-modules (ice-9 match)) (match (command-line) ((_ out
bash) (let ((bin-dir (string-append out \"/bin\")) (guile (string-append out
\"/bin/guile\")) (guile-real (string-append out
\"/bin/.guile-real\")) (dollar (string (integer->char 36)))) (chmod bin-dir
493) (rename-file guile guile-real) (call-with-output-file guile (lambda (p)
(format p \"#!~a\\nexport GUILE_SYSTEM_PATH=~a/sha
re/guile/2.2\\nexport GUILE_SYSTEM_COMPILED_PATH=~a/lib/guile/2.2/ccache\\nexec
-a \\\"~a0\\\" ~a \\\"~a@\\\"\\n\" bash out out dollar guile-real dollar)))
(chmod guile 365) (chmod bin-dir 365)))))" $out
/gnu/store/rbz12p3wl7dlrn5gyk6yp62ixmcir3vb-bash
/gnu/store/krb9h94g81f4xgsjwfs58p8fiir5gmpq-build-bootstrap-guile.sh: line 11:
6 Segmentation fault $out/bin/guile --version
builder for
`/gnu/store/cr6anc23kmprmilvyhi721b5b4sacln5-guile-bootstrap-2.2.drv' failed
with exit code 139
If I change it so that GUILE_SYSTEM_COMPILED_PATH="" then it seems to
recompile in memory the .go files for each subsequent thing it builds
and then throw them out.
Is there a good way to actually compile the .go files and use them to
replace the ones shipped in the guile-static tarball?
Can we do this on purpose and ship just the bin/ output, grab guile
sources and compile it for real? Or can I delete the .go files, take the
.scm files and compile them? Any hints on the guild invocation?
--
Efraim Flashner <address@hidden> אפרים פלשנר
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
- smallerizing bootstrap guile?,
Efraim Flashner <=