I think SBCL commit 25c1769e30ff7404b52a9be663626d87f8ff75bc broke the use of deferred warnings. If I compile SBCL and exec ./run-sbcl.sh, I get this error during Quicklisp initialization:
; file: /home/hechee/lisp/quicklisp/quicklisp/impl.lisp ; in: DEFINE-IMPLEMENTATION-PACKAGE :SBCL ; (REQUIRE 'QL-IMPL::SB-POSIX) ; ; caught WARNING: ; completing compilation for #<REQUIRE-SYSTEM "sb-posix"> completed without its output file #P"/home/hechee/work/src/sbcl/obj/sbcl-home/contrib/sb-posix.build-report" ; ; caught WARNING: ; completing load for #<REQUIRE-SYSTEM "sb-posix"> completed without its input file #P"/home/hechee/work/src/sbcl/obj/sbcl-home/contrib/sb-posix.build-report"
; (REQUIRE 'QL-IMPL::SB-BSD-SOCKETS) ; ; caught WARNING: ; completing compilation for #<REQUIRE-SYSTEM "sb-bsd-sockets"> completed without its output file #P"/home/hechee/work/src/sbcl/obj/sbcl-home/contrib/sb-bsd-sockets.build-report" ; ; caught WARNING: ; completing load for #<REQUIRE-SYSTEM "sb-bsd-sockets"> completed without its input file #P"/home/hechee/work/src/sbcl/obj/sbcl-home/contrib/sb-bsd-sockets.build-report" While evaluating the form starting at line 129, column 0 of #P"/home/hechee/lisp/quicklisp/setup.lisp": While evaluating the form starting at line 57, column 0 of #P"/home/hechee/.cl-init/asdf-init.lisp":
debugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<THREAD "main thread" RUNNING {1002FC6A13}>: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "quicklisp" "impl">
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry compiling #<CL-SOURCE-FILE "quicklisp" "impl">. 1: [ACCEPT ] Continue, treating compiling #<CL-SOURCE-FILE "quicklisp" "impl"> as having been successful. 2: Retry ASDF operation. 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 4: [RETRY ] Retry EVAL of current toplevel form. 5: [CONTINUE ] Ignore error and continue loading file "/home/hechee/lisp/quicklisp/setup.lisp". 6: [ABORT ] Abort loading file "/home/hechee/lisp/quicklisp/setup.lisp". 7: Retry EVAL of current toplevel form. 8: Ignore error and continue loading file "/home/hechee/.cl-init/asdf-init.lisp". 9: Abort loading file "/home/hechee/.cl-init/asdf-init.lisp". 10: Retry EVAL of current toplevel form. 11: Ignore error and continue userinit file "/home/hechee/.sbclrc". 12: Abort userinit file "/home/hechee/.sbclrc". 13: Skip to toplevel READ/EVAL/PRINT loop. 14: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(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 "quicklisp" "impl">))) source: (ERROR 'COMPILE-FILE-ERROR :CONTEXT-FORMAT CONTEXT-FORMAT :CONTEXT-ARGUMENTS CONTEXT-ARGUMENTS)
There's no obj/sbcl-home/contrib/sb-posix.build-report, or any build -report file, just several test-passed.test-report under obj/asdf -cache/
Funny though that I don't get this error if I exec sbcl through an absolute path, e.g. ~/work/src/sbcl/run-sbcl.sh, it's only when I call it from the source directory as ./run-sbcl.sh