all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: guix-devel@gnu.org
Subject: smallerizing bootstrap guile?
Date: Mon, 4 Nov 2019 12:57:56 +0200	[thread overview]
Message-ID: <20191104105756.GC372@E5400> (raw)

[-- Attachment #1: Type: text/plain, Size: 2282 bytes --]

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   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

             reply	other threads:[~2019-11-04 10:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-04 10:57 Efraim Flashner [this message]
2019-11-04 13:38 ` smallerizing bootstrap guile? Andy Wingo
2019-11-06 17:35 ` Ludovic Courtès
2019-11-07  7:30   ` bootstrap guile segfaults on powerpc 32-bit Efraim Flashner
2019-11-09 20:24     ` Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191104105756.GC372@E5400 \
    --to=efraim@flashner.co.il \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.