May 20, 2008

ASDF weirdness

Why is it that

(asdf:operate 'asdf:compile-op :sdl)

fails, when

(compile-file "/path/to/cl-sdl/sdl/sdl.lisp")

succeeds ? The weird thing is that I see the same compilation of the same file except for a final:

;/path/to/cl-sdl/sdl/sdl.fasl written
; compilation finished in 0:00:00
WARNING:
COMPILE-FILE warned while performing # on
#<cl-source-file sdl="">.
;
; compilation unit aborted
;   caught 1 fatal ERROR condition
;   caught 2 WARNING conditions
;   printed 20 notes

I know the file compiles just fine. Hell, even when things go wrong it still says it wrote out the fasl. So it must be something with asdf. Unfortunately, I have no idea where to start looking...

[edit] I read somewhere that "asdf regards a full warning as an error". There are indeed two warnings, so maybe that's what is tripping things up. Two options then: try to fix the warnings, or figure out how to change this behaviour in asdf...

[edit] Here is a message I found stating the "warning is error" behaviour. It's really counterintuitive; which is to say that every other compiler I have ever used treats warnings just as warnings. Ah well. It seems the best option is to fix the warnings, so I'll start looking into that.

No comments: