Compilation failure with SBCL >= 2.3.9, using 2.0.1-debian as bootstrap

Bug #2064671 reported by Patrick Poitras
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
New
Undecided
Unassigned

Bug Description

Hello all,

Our docker compilation rig uses SBCL version 2.0.1-debian. In trying to compile versions SBCL 2.3.9 and above, the build fails with the following error:

```
; wrote /home/tester/ppoitras/sbcl/obj/from-host/src/compiler/generic/genesis.fasl-tmp
; compilation finished in 0:00:00.920
;
; compilation unit finished
; caught 3 STYLE-WARNING conditions
While evaluating the form starting at line 125, column 0
  of #P"/home/tester/ppoitras/sbcl/make-host-1.lisp":

debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1000510083}>:
  make-host-1 stopped due to unexpected STYLE-WARNING.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Proceed anyway
  1: [RETRY ] Retry EVAL of current toplevel form.
  2: Ignore error and continue loading file "/home/tester/ppoitras/sbcl/make-host-1.lisp".
  3: [ABORT ] Abort loading file "/home/tester/ppoitras/sbcl/make-host-1.lisp".
  4: [ABORT-BUILD] Abort building SBCL.
  5: Exit debugger, returning to top level.
```

By messing around with make-host-1.lisp, I made it print the style-warnings when they occurred, and they seem like they're all of the redefining BLARG in defmacro variety. There are a lot of them.

I was able to reproduce with SBCL 2.0.1, 2.0.9; subsequent version compile without problems. (checked
2.0.10, 2.1.2, 2.3.3)

The compilation is simply calling ./make.sh, with no flags.

Please let me know if I can provide further information.

uname -a : Linux ppoitras-desktop-sprint-2024-05-02 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
Patrick Poitras (pfpoitras) wrote :

Note that a rather brutish fix, given that it works on 2.0.10 and not on 2.0.9 is to specify

(string>= (cl:lisp-implementation-version) "2.1")

rather than

(string>= (cl:lisp-implementation-version) "2")

in make-host-1.lisp: line 50.

This has the side-effect of disabling warnings on 2.0.10 and 2.0.11, a less restrictive version of this could be something like:

(or (string>= (cl:lisp-implementation-version) "2.1")
    (string= (cl:lisp-implementation-version) "2.0.10")
    (string= (cl:lisp-implementation-version) "2.0.11"))

But it's probably better to ignore just the redefinition in defmacro warnings.

Revision history for this message
Douglas Katzman (dougk) wrote :

please provide the entire output. Though I suspect this may be fixed already

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.