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

Bug #1261451 reported by Vasily Postnicov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
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.

Revision history for this message
Vasily Postnicov (shamaz-mazum) wrote :
Revision history for this message
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.

Revision history for this message
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 :)

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.