guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/05: compile: Pre-load the compiler outside 'with-target'.


From: guix-commits
Subject: 01/05: compile: Pre-load the compiler outside 'with-target'.
Date: Thu, 23 Apr 2020 17:59:40 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 12da5162e49ea3b0f2e5e46f7aa5e410ebf30845
Author: Ludovic Courtès <address@hidden>
AuthorDate: Thu Apr 23 23:10:19 2020 +0200

    compile: Pre-load the compiler outside 'with-target'.
    
    * guix/build/compile.scm (compile-files): Move call to 'compile' before
    'with-target'.  Failing to do that, if the target has a different word
    size than the host, the first call to 'compile-file' fails with:
    
      ice-9/eval.scm:293:34: In procedure load-thunk-from-memory: ELF file does 
not have native word size
    
    while attempting loading 'language/spec.go'.
---
 guix/build/compile.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/guix/build/compile.scm b/guix/build/compile.scm
index 3ce0ece..c4dbb6e 100644
--- a/guix/build/compile.scm
+++ b/guix/build/compile.scm
@@ -194,6 +194,11 @@ files are for HOST, a GNU triplet such as 
\"x86_64-linux-gnu\"."
   (with-augmented-search-path %load-path source-directory
     (with-augmented-search-path %load-compiled-path build-directory
       (with-fluids ((*current-warning-prefix* ""))
+        ;; Make sure the compiler's modules are loaded before 'with-target'
+        ;; (since 'with-target' influences the .go loader), and before
+        ;; starting to compile files in parallel.
+        (compile #f)
+
         (with-target host
           (lambda ()
             ;; FIXME: To work around <https://bugs.gnu.org/15602>, we first
@@ -202,10 +207,6 @@ files are for HOST, a GNU triplet such as 
\"x86_64-linux-gnu\"."
                         #:report-load report-load
                         #:debug-port debug-port)
 
-            ;; Make sure compilation related modules are loaded before
-            ;; starting to compile files in parallel.
-            (compile #f)
-
             ;; XXX: Don't use too many workers to work around the insane
             ;; memory requirements of the compiler in Guile 2.2.2:
             ;; 
<https://lists.gnu.org/archive/html/guile-devel/2017-05/msg00033.html>.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]