Opened 4 years ago
Last modified 20 months ago
#370 new defect
Failure to use ABCL as SBCL compilation host
Reported by: | mevenson | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.6.0 |
Component: | interpreter | Version: | 1.4.0-dev |
Keywords: | sbcl | Cc: | |
Parent Tickets: |
Description
loke noticed that ABCL is no longer able to host a compilation of SBCL.
This failure occurs on both 1.4.0-dev and 1.3.1, so the problem has been present for a while.
From <http://pastebin.com/KUCzCNd5>:
; Wrote /root/sbcl-1.2.3/obj/from-host/src/compiler/policies.abcl-tmp (0.307 seconds) ; Compiling /root/sbcl-1.2.3/src/compiler/macros.lisp ... ; (IN-PACKAGE "SB!C") ; (DECLAIM (SPECIAL *COMPILER-ERROR-CONTEXT*)) ; (DEFMACRO DEF-IR1-TRANSLATOR ...) ; (DEFMACRO SOURCE-TRANSFORM-LAMBDA ...) ; (DEFMACRO DEFINE-SOURCE-TRANSFORM ...) ; (DEFTYPE ATTRIBUTES ...) ; (DEFUN COMPUTE-ATTRIBUTE-MASK ...) ; (DEF!MACRO !DEF-BOOLEAN-ATTRIBUTE ...) ; (DEFUN GUTS-OF-!DEF-BOOLEAN-ATTRIBUTE-SETTER ...) ; (DEFMACRO !DEF-BOOLEAN-ATTRIBUTE-SETTER ...) ; (DEFMACRO ATTRIBUTES-UNION ...) ; (DEFMACRO ATTRIBUTES-INTERSECTION ...) ; (DECLAIM (FTYPE # ...)) ; (DECLAIM (INLINE ATTRIBUTES=)) ; (DEFUN ATTRIBUTES= ...) ; (DEFUN PARSE-DEFTRANSFORM ...) ; (DEFMACRO DEFTRANSFORM ...) ; (DEFMACRO DEFKNOWN ...) ; (DEFMACRO DEFOPTIMIZER ...) #<THREAD "interpreter" {5B9A5111}>: Debugger invoked on condition of type UNDEFINED-FUNCTION The function SB!IMPL::DECL-EXPR is undefined. Restarts: 0: CONTINUE Try again. 1: USE-VALUE Specify a function to call instead. 2: RETURN-VALUE Return one or more values from the call to SB!IMPL::DECL-EXPR. 3: TOP-LEVEL Return to top level. [1] SB!C(11): ; Compilation unit finished ; The following functions were used but not defined: ; SB!INT:PARSE-LAMBDA-LIST
Subtickets (add)
Change History (6)
comment:1 follow-up: ↓ 2 Changed 4 years ago by mevenson
comment:2 in reply to: ↑ 1 Changed 4 years ago by mevenson
Replying to mevenson:
DECL-EXPR is used in src/code/early-extensions.lisp in the definition of SB!IMPL::BINDING* in a manner that looks like a function invocation. Why is this not the case?
Because the ,@ operator is not correctly splicing as a list.
comment:3 Changed 4 years ago by mevenson
The cause of the problems may not necessarily be a problem introduced in ABCL.
See <http://christophe.rhodes.io/notes/blog/posts/2014/still_working_on_reproducible_builds/> for Christophe's exposition on problems within SBCL.
comment:4 Changed 3 years ago by dkatzman2002
ABCL can build SBCL now, and you can probably close this, though ticket 351 is still open and genuinely a bug.
comment:5 Changed 2 years ago by mevenson
- Milestone changed from 1.4.0 to 1.5.0
Ticket retargeted after milestone closed
comment:6 Changed 20 months ago by mevenson
- Milestone changed from 1.5.0 to 1.6.0
Ticket retargeted after milestone closed
One can get this point in a naked REPL via executing the following form on the source tree:
SB!IMPL::DECL-EXPR is not being used as a function in the compilation, so something is mucked up in the DEFOPTIMIZER macro transformation.
DECL-EXPR is used in src/code/early-extensions.lisp in the definition of SB!IMPL::BINDING* in a manner that looks like a function invocation. Why is this not the case?