On 12/13/11 Dec 13 -7:44 AM, Rupert Swarbrick wrote: > Hi, > > TL;DR: Confusing error message. Is it possible to make it less confusing > and/or ignore the silly input I inadvertently gave asdf? > > I'm writing because I've just spent ages debugging a confusing niggle > with interaction between ASDF and my linux box. Basically, running sbcl > in a terminal and then trying to (require 'foo) gave me this rather > confusing error message: > >> This is SBCL 1.0.54.0.debian, an implementation of ANSI Common Lisp. >> More information about SBCL is available at <http://www.sbcl.org/>. >> >> SBCL is free software, provided as is, with absolutely no warranty. >> It is mostly in the public domain; some portions are provided under >> BSD-style licenses. See the CREDITS and COPYING files in the >> distribution for more information. >> * (require :cl-fad) >> ASDF could not load cl-fad because >> Invalid designator for an absolute pathname: #P"common-lisp/systems/". >> >> debugger invoked on a SIMPLE-ERROR in thread >> #<THREAD "initial thread" RUNNING {AB1B781}>: >> Invalid designator for an absolute pathname: #P"common-lisp/systems/" >> >> Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. >> >> restarts (invokable by number or by possibly-abbreviated name): >> 0: [REINITIALIZE-SOURCE-REGISTRY-AND-RETRY] Retry finding system cl-fad >> after >> reinitializing the >> source-registry. >> 1: [ABORT ] Exit debugger, returning to top >> level. >> >> (ASDF::RESOLVE-ABSOLUTE-LOCATION-COMPONENT >> #P"common-lisp/systems/" >> :DIRECTORY >> T >> :WILDEN >> NIL) > > I finally worked out what was going on by looking at > default-source-directory: > >> * (default-source-registry) >> >> (:SOURCE-REGISTRY (:DIRECTORY #P"/home/rupert/.sbcl/systems/") >> (:DIRECTORY #P"/home/rupert/src/mine/atonews/") >> (:DIRECTORY #P"/home/rupert/.local/share/common-lisp/systems/") >> (:TREE #P"/home/rupert/.local/share/common-lisp/source/") >> (:DIRECTORY #P"common-lisp/systems/") (:TREE #P"common-lisp/source/") >> (:DIRECTORY #P"/opt/gnome/share/common-lisp/systems/") >> (:TREE #P"/opt/gnome/share/common-lisp/source/") >> (:DIRECTORY #P"/usr/local/share/common-lisp/systems/") >> (:TREE #P"/usr/local/share/common-lisp/source/") >> (:DIRECTORY #P"/usr/share/common-lisp/systems/") >> (:TREE #P"/usr/share/common-lisp/source/") :INHERIT-CONFIGURATION) > > Note the #P"common-lisp/systems/" line! Tracing further, I found that > this comes from a mistake I made when setting up my > shell. $XDG_DATA_DIRS is > > :/opt/gnome/share/:/usr/local/share/:/usr/share/ > > Because of the leading colon, the split-string call on line 4020 of > asdf.lisp gives me a leading "", resulting in path names that aren't > fully qualified. > > Now, I'll fix my setup, since it's my own silly fault, but do any of you > have an idea for how to make this error less perplexing for the next > person who does something similar? (Maybe just drop "" components?)
Maybe a continuable error dropping the "" components? That would encourage the user to actually fix the offending configuration. Any chance of you moving this to a ticket on launchpad? Best, r _______________________________________________ asdf-devel mailing list [email protected] http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
