Steel Bank Common Lisp

Cross-compilation with clisp is needed to be fixed (second time)

Reported by Vasily Postnicov on 2013-12-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

Cross-compilation with clisp as a host is broken. Affects versions 1.1.14+ (but not 1.1.14 itself)

Now it seems to be a leaking macro/loop misuse. Bug is in src/compiler/pack.lisp, comes with this commit:

https://github.com/sbcl/sbcl/commit/19319c931fc1636835dbef71808cc10e252bcf45

I attach a patch which fixes the problem.

Vasily Postnicov (shamaz-mazum) wrote :
Stas Boukarev (stassats) wrote :

I still can't build even with this patch. And the error messages CLISP gives are incomprehensible:

WARNING: LOOP: FOR clauses should occur before the loop's main body
WARNING: LOOP: FOR clauses should occur before the loop's main body
WARNING: LOOP: FOR clauses should occur before the loop's main body
WARNING: LOOP: FOR clauses should occur before the loop's main body
** - Continuable Error
FAILURE-P was set when creating "obj/from-host/src/compiler/pack.fas".
Continue, using possibly bogus file "obj/from-host/src/compiler/pack.fas"

and during genesis:

** - Continuable Error
"SB!XC" is already a package name.
Continue, using possibly bogus file "obj/from-host/src/compiler/pack.fas"

** - Continuable Error
EVAL: undefined function SB!VM:GENESIS
Continue, using possibly bogus file "obj/from-host/src/compiler/pack.fas"
deleted #P"/home/stas/lisp/impl/sbcl/obj/from-host/src/compiler/pack.fas-tmp"
Bye.

Vasily Postnicov (shamaz-mazum) wrote :

Very strange, indeed. I get these messages when compiling pack.lisp:

;; Compiling file /home/vasily/sbcl-dragonfly/src/compiler/pack.lisp ...
;; Wrote file /home/vasily/sbcl-dragonfly/obj/from-host/src/compiler/pack.fas-tmp
The following functions were used but not defined:
 SB!C::PRINT-TN-GUTS SB!REGALLOC::PACK-ITERATIVE
0 errors, 0 warnings
;; Loading file obj/from-host/src/compiler/pack.fas ...
;; Loaded file obj/from-host/src/compiler/pack.fas

Are you using clisp 2.49 (which is 3 years old, asking just to be sure)?

I found that the bug was introduced with commit I specified above using git bisect. Can you confirm this by building sbcl from commit before that (it's 12b1dae...)? Who knows if pack.lisp was changed before that. But do not forget to fix code/late-extensions.lisp first :)

Stas Boukarev (stassats) wrote :

That was due to REPEAT being before FOR. Fixed in 272a4fad189dd96e57d3b3120c82217fdb5c5449, thanks

Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers