On 28 May 2010 19:39, Seth Burleigh seth@tewebs.com wrote:
I was wondering if it was possible for some better error reporting. For example, when i was compiling kenny's cl-opengl, this is what i get:
; compiling (DEFVAR *OPENGL-DLL* ...) ; compiling (DEFUN CL-OPENGL-LOAD ...) ; compiling (CL-OPENGL-LOAD) ; compiling (DEFUN GL-BOOLEAN-TEST ...) ; compiling (DFENUM STORAGETYPE ...) ; compiling (DFENUM FILTERTYPES ...)
; /home/seth/install/lisp/cello/cl-opengl/sbcl-1.0.38-linux-x86/cl-opengl.fasl written ; compilation finished in 0:00:00.045 WARNING: COMPILE-FILE warned while performing #<COMPILE-OP NIL {CB49DA9}> on #<CL-SOURCE-FILE "cl-opengl" {BD132C1}>.
And then i get thrown into the slime debugger with a very nonhelpful error: compile-opp nil? Cant asdf give us the actual error thrown? This has happened multiple times on many libraries.
Hum. Can you include the whole log from the last successfully compiled file to the error? Odds are the warning appears somewhere up in the log, but you can't see it because you're compiling in verbose mode and other messages push it out of the screen. Redirecting output to a log file (possibly using 2>&1 | tee foo.log) can help, too.
Problem is, ASDF doesn't know what warning was issued: all it gets is a boolean result from compile-file. Gathering otherwise uncaught warnings is not impossible, being a matter of some handler-bind wrapper around compilation -- but it hasn't been done (yet) as part of ASDF (we at ITA use something like that to do warning filtering, though not warning summary; our latest code is included in the XCVB driver).
This is not going to make it in ASDF 2.0 that I still intend to release this Monday unchanged from 1.728. Definitely an ASDF 3.0 feature, though, maybe even 2.1.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Everyone hates a martyr. It's no wonder martyrs were burnt at a stake. — E.W. Howe, "Country Town Sayings", p.7