As you know, warnings in an ASDF build cause it to fail, because they
cause COMPILE-FILE to return NIL.  That's fine, I suppose.

But at least on SBCL, the failure is not recoverable for me.

I get an error with the following retries:

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Retry
                                     compiling #<CL-SOURCE-FILE
"stn-quicktest" "cppstn">.
  1: [ACCEPT                       ] Continue, treating
                                     compiling #<CL-SOURCE-FILE
"stn-quicktest" "cppstn">
                                     as having been successful.
  2:                                 Retry ASDF operation.
  3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after
resetting the
                                     configuration.
  4: [ABORT                        ] Exit debugger, returning to top level.

(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 "stn-quicktest" "cppstn">)))
0] 1

These seem fine, but the ACCEPT restart doesn't work because the fasl
file is not moved from tmp to its proper position.  See below:

WARNING:
   compiling #<CL-SOURCE-FILE "stn-quicktest" "cppstn"> completed
without its output file
#P"/Users/rpg/.cache/common-lisp/sbcl-1.2.15.0.sbcl-1.2.15.0-4bc676e-macosx-x64/Users/rpg/dbm/dev/dbm-planner/stn/cppstn.fasl"

debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1003CAE793}>:
  Couldn't load

#P"/Users/rpg/.cache/common-lisp/sbcl-1.2.15.0.sbcl-1.2.15.0-4bc676e-macosx-x64/Users/rpg/dbm/dev/dbm-planner/stn/cppstn.fasl":
  file does not exist.

Shouldn't we find a better restart definition for ACCEPT, one that will
proceed to write the fasl file into its proper location?  The current
ACCEPT restart for this condition seems useless.

Cheers,
r

Reply via email to