unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* smallerizing bootstrap guile?
@ 2019-11-04 10:57 Efraim Flashner
  2019-11-04 13:38 ` Andy Wingo
  2019-11-06 17:35 ` Ludovic Courtès
  0 siblings, 2 replies; 5+ messages in thread
From: Efraim Flashner @ 2019-11-04 10:57 UTC (permalink / raw)
  To: guix-devel

[-- 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 --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-11-09 20:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-04 10:57 smallerizing bootstrap guile? Efraim Flashner
2019-11-04 13:38 ` 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

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).