Closed Ambrevar closed 4 years ago
I added :serial t
in the latest commit 8e5a81487ee3c13fe5ffdc8bdda161d476639535. However I'm not sure whether that will solve your problem. I'm not familiar with Guix so I don't know why the build would fail unless there is some problem with a dependency of generic-cl.
Thanks.
Here is the error output:
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/cl-sequences.lisp" (written 01 JAN 1970 12:00:01 AM):
; processing (IN-PACKAGE :GENERIC-CL.IMPL)
; processing (DEFMETHOD ELT ...)
; processing (DEFMETHOD (SETF ELT) ...)
; processing (DEFMETHOD ELT ...)
; processing (DEFMETHOD (SETF ELT) ...)
; processing (DEFMETHOD ELT ...)
; processing (DEFMETHOD (SETF ELT) ...)
; processing (LABELS (#) ...)
; file: /gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/cl-sequences.lisp
; in:
; LABELS ((RMI (DIMS INDICES)
; "Mirrors cl:array-row-major-index, but functions exclusively on dimensions
; Length of dims and indices must be equal"
; (LOOP WITH WORD-IDX = 0
; WITH DIMPROD = 1
; FOR DIM-SIZE IN ...)))
; (GENERIC-CL.IMPL:< -1 GENERIC-CL.IMPL::DIM-IDX GENERIC-CL.IMPL::DIM-SIZE)
;
; caught WARNING:
; Error during compiler-macroexpansion of (< -1 DIM-IDX ...). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL:* GENERIC-CL.IMPL::DIM-IDX GENERIC-CL.IMPL::DIMPROD)
;
; caught WARNING:
; Error during compiler-macroexpansion of (* DIM-IDX DIMPROD). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL:* GENERIC-CL.IMPL::DIMPROD GENERIC-CL.IMPL::DIM-SIZE)
;
; caught WARNING:
; Error during compiler-macroexpansion of (* DIMPROD DIM-SIZE). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; in: DEFMETHOD ELT
; (GENERIC-CL.IMPL:= GENERIC-CL.IMPL::N-DIMS GENERIC-CL.IMPL::N-IDCS)
;
; caught WARNING:
; Error during compiler-macroexpansion of (= N-DIMS N-IDCS). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL:< GENERIC-CL.IMPL::N-DIMS GENERIC-CL.IMPL::N-IDCS)
;
; caught WARNING:
; Error during compiler-macroexpansion of (< N-DIMS N-IDCS). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL:* GENERIC-CL.IMPL::WORD-LEN
; (GENERIC-CL.IMPL::RMI
; (GENERIC-CL.IMPL:SUBSEQ GENERIC-CL.IMPL::DIMS 0 GENERIC-CL.IMPL::N-IDCS)
; GENERIC-CL.IMPL::INDICES))
;
; caught WARNING:
; Error during compiler-macroexpansion of (* WORD-LEN (RMI # INDICES)). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; in: DEFMETHOD (SETF ELT)
; (GENERIC-CL.IMPL:= GENERIC-CL.IMPL::N-DIMS GENERIC-CL.IMPL::N-IDCS)
;
; caught WARNING:
; Error during compiler-macroexpansion of (= N-DIMS N-IDCS). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL:< GENERIC-CL.IMPL::N-DIMS GENERIC-CL.IMPL::N-IDCS)
;
; caught WARNING:
; Error during compiler-macroexpansion of (< N-DIMS N-IDCS). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL:* GENERIC-CL.IMPL::WORD-LEN
; (GENERIC-CL.IMPL::RMI
; (GENERIC-CL.IMPL:SUBSEQ GENERIC-CL.IMPL::DIMS 0 GENERIC-CL.IMPL::N-IDCS)
; GENERIC-CL.IMPL::INDICES))
;
; caught WARNING:
; Error during compiler-macroexpansion of (* WORD-LEN (RMI # INDICES)). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; (GENERIC-CL.IMPL::RMI
; (GENERIC-CL.IMPL:SUBSEQ GENERIC-CL.IMPL::DIMS 0 GENERIC-CL.IMPL::N-IDCS)
; GENERIC-CL.IMPL::INDICES)
;
; caught WARNING:
; Error during compiler-macroexpansion of (< -1 DIM-IDX ...). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
;
; caught WARNING:
; Error during compiler-macroexpansion of (* DIM-IDX DIMPROD). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
;
; caught WARNING:
; Error during compiler-macroexpansion of (* DIMPROD DIM-SIZE). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; The function GENERIC-CL.IMPL::NUMBERS? is undefined.
; processing (DEFMETHOD ELT ...)
; processing (DEFMETHOD ELT ...)
; processing (DEFMETHOD (SETF ELT) ...)
; processing (DEFMETHOD (SETF ELT) ...)
; processing (DEFMETHOD FIRST ...)
; processing (DEFMETHOD FIRST ...)
; processing (DEFMETHOD FIRST ...)
; processing (DEFMETHOD FIRST ...)
; processing (DEFMETHOD FIRST ...)
; processing (DEFMETHOD LAST ...)
; processing (DEFMETHOD LAST ...)
; processing (DEFMETHOD LAST ...)
; processing (DEFUN LASTCDR ...)
; processing (DEFMETHOD ERASE ...)
; file: /gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/cl-sequences.lisp
; in: DEFMETHOD ERASE
; (1- GENERIC-CL.IMPL::LEN)
; --> -
; ==>
; GENERIC-CL.IMPL::LEN
;
; note: deleting unreachable code
; processing (DEFMETHOD LENGTH ...)
; processing (DEFMETHOD LENGTH ...)
; processing (DEFMETHOD LENGTH ...)
; processing (DEFMETHOD EMPTYP ...)
; processing (DEFMETHOD EMPTYP ...)
; processing (DEFMETHOD EMPTYP ...)
; processing (DEFMETHOD CLEAR ...)
; file: /gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/cl-sequences.lisp
; in: DEFMETHOD CLEAR
; (ADJUST-ARRAY GENERIC-CL.IMPL::VEC 0 :INITIAL-ELEMENT 0)
;
; note: deleting unreachable code
; processing (DEFMETHOD ADJUST-SIZE ...)
; processing (DEFMETHOD NADJUST-SIZE ...)
; processing (DEFMETHOD ADJUST-SIZE ...)
; processing (DEFMETHOD NADJUST-SIZE ...)
; processing (DEFMETHOD SUBSEQ ...)
; processing (DEFMETHOD (SETF SUBSEQ) ...)
; processing (DEFMETHOD FILL ...)
; processing (DEFMETHOD REPLACE ...)
; processing (DEFMETHOD REDUCE ...)
; processing (DEFMETHOD COUNT ...)
; processing (DEFMETHOD COUNT-IF ...)
; processing (DEFMETHOD COUNT-IF-NOT ...)
; processing (DEFMETHOD FIND ...)
; processing (DEFMETHOD FIND-IF ...)
; processing (DEFMETHOD FIND-IF-NOT ...)
; processing (DEFMETHOD POSITION ...)
; processing (DEFMETHOD POSITION-IF ...)
; processing (DEFMETHOD POSITION-IF-NOT ...)
; processing (DEFMETHOD SEARCH ...)
; processing (DEFMETHOD MISMATCH ...)
; processing (DEFMETHOD REVERSE ...)
; processing (DEFMETHOD NREVERSE ...)
; processing (DEFMETHOD MERGE ...)
; processing (DEFMETHOD NMERGE ...)
; processing (DEFMETHOD SORT ...)
; processing (DEFMETHOD STABLE-SORT ...)
; processing (DEFMETHOD NSORT ...)
; processing (DEFMETHOD STABLE-NSORT ...)
; processing (DEFMETHOD SUBSTITUTE ...)
; processing (DEFMETHOD NSUBSTITUTE ...)
; processing (DEFMETHOD SUBSTITUTE-IF ...)
; processing (DEFMETHOD NSUBSTITUTE-IF ...)
; processing (DEFMETHOD SUBSTITUTE-IF-NOT ...)
; processing (DEFMETHOD NSUBSTITUTE-IF-NOT ...)
; processing (DEFMETHOD REMOVE ...)
; processing (DEFMETHOD DELETE ...)
; processing (DEFMETHOD REMOVE-IF ...)
; processing (DEFMETHOD DELETE-IF ...)
; processing (DEFMETHOD REMOVE-IF-NOT ...)
; processing (DEFMETHOD DELETE-IF-NOT ...)
; processing (DEFMETHOD REMOVE-DUPLICATES ...)
; processing (DEFMETHOD DELETE-DUPLICATES ...)
; wrote /gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/lib/common-lisp/sbcl/generic-cl/src/cl-sequences-tmpQ371UGST.fasl
; compilation finished in 0:00:00.292
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
{1001898283}>:
COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "generic-cl" "src" "cl-sequences">
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1001898283}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10066EF113}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10066EF113}>)
2: (INVOKE-DEBUGGER #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {10066EF113}>)
3: (ERROR UIOP/LISP-BUILD:COMPILE-FILE-ERROR :CONTEXT-FORMAT "~/asdf-action::format-action/" :CONTEXT-ARGUMENTS ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "generic-cl" "src" "cl-sequences">)))
4: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "generic-cl" "src" "cl-sequences">)))
5: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "generic-cl" "src" "cl-sequences">)
6: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "generic-cl" "src" "cl-sequences">) [fast-method]
8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {10061A4A63}>) [fast-method]
9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {10061A4A63}>) [fast-method]
11: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/SYSTEM:SYSTEM "generic-cl"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/SYSTEM:SYSTEM "generic-cl">)
13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
14: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/SYSTEM:SYSTEM "generic-cl">) [fast-method]
15: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:COMPILE-OP "generic-cl")
16: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
17: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:COMPILE-OP "generic-cl") [fast-method]
18: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {10061872EB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
19: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
20: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {10061849BB}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:COMPILE-OP "generic-cl") [fast-method]
22: (ASDF/OPERATE:COMPILE-SYSTEM "generic-cl")
23: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:COMPILE-SYSTEM "generic-cl") #<NULL-LEXENV>)
24: (EVAL (ASDF/OPERATE:COMPILE-SYSTEM "generic-cl"))
25: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(require :asdf)") (:EVAL . "(asdf:load-asd (truename \"/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/generic-cl.asd\"))") (:EVAL . "(asdf:load-asd (truename \"/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/generic-cl.util.asd\"))") (:EVAL . "(asdf:compile-system \"generic-cl\")") (:QUIT)))
26: (SB-IMPL::TOPLEVEL-INIT)
27: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
28: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-IMPL::START-LISP))
29: (SB-IMPL::START-LISP)
unhandled condition in --disable-debugger mode, quitting
;
; compilation unit aborted
; caught 1 fatal ERROR condition
; caught 12 WARNING conditions
; printed 2 notes
command "/gnu/store/grbddz6cbdsn3cmh3ywvkm29wdh28j97-sbcl-2.0.10/bin/sbcl" "--non-interactive" "--eval" "(require :asdf)" "--eval" "(asdf:load-asd (truename \"/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/generic-cl.asd\"))" "--eval" "(asdf:load-asd (truename \"/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/generic-cl.util.asd\"))" "--eval" "(asdf:compile-system \"generic-cl\")" failed with status 1
builder for `/gnu/store/zf4zxgwv2qrpfikysk35qwfngiysy5r7-sbcl-generic-cl-0.7.1.drv' failed with exit code 1
I tried to compare the file compilation order with and without :serial t
. In both cases, it's
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/package.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/util.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/object.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/equality.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/comparison.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/arithmetic.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/sequences.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/iterator.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/collector.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/hash-tables.lisp" (written 01 JAN 1970 12:00:01 AM):
; compiling file "/gnu/store/51462c75fwciq4iin6jk4hgpd6rhq7rd-sbcl-generic-cl-0.7.1/share/common-lisp/sbcl/generic-cl/src/cl-sequences.lisp" (written 01 JAN 1970 12:00:01 AM):
(I've elided the text between each file.)
Forgot to say that your commit fixes the Guix build indeed. So this can be considered fixed, but I'd really like to understand what's happening :)
I can't say for sure other than it may be possible that when :serial t
is not specified the files are compiled in parallel.
Indeed, that would explain it.
Still packaging generic-cl in Guix, it turns out that
:serial t
is not properly set: it must be set for the "src" module instead of the generic-cl system (which has only 1 component).cl-environments suffers from the same issue.
Funny thing is, it only fails when building the package for Guix. It works when I compile the generic-cl system locally with SBCL. Any clue why? ASDF 3.3.3 is used in both cases.