[asdf-devel] Is this a bug? or my error?

Louis A. Turk lou at dayspringpublisher.com
Wed Jun 30 19:50:03 UTC 2010


On Wed, 2010-06-30 at 14:04 -0500, Robert Goldman wrote:
> On 6/30/10 Jun 30 -12:52 PM, Louis A. Turk wrote:
> > On Mon, 2010-06-28 at 14:10 -0500, Robert Goldman wrote:
> >> On 6/28/10 Jun 28 -2:03 PM, Louis A. Turk wrote:
> >>> On Mon, 2010-06-28 at 11:23 -0500, Robert Goldman wrote:
> >>>> On 6/28/10 Jun 28 -10:39 AM, Louis A. Turk wrote:
> >>>>> asdf version 2.104
> >>>>>
> >>>> It looks suspiciously like either (1) you are mixing different versions
> >>>> of ASDF, including one from before Faré eliminated the internal
> >>>> 'ASDF::AROUND method qualifier, (2) someone in the definition of
> >>>> ITERATE, or possibly another system, broke the abstraction and defined
> >>>> an ASDF:AROUND method or (3) you have some stale fasl mixed in.
> >>>>
> >>>> HtH,
> >>>>
> >>>> r
> >>>
> >>> Thanks for replying. You were right about this. However, I'm still
> >>> having a problem. I'm getting the following error message:
> >>>
> >>> failed to find the TRUENAME of /home/lat/lisp/il/collate.lisp:
> >>>
> >>> The problem is that collate.lisp is is not in the /home/lat/lisp/il/
> >>> directory. It is in the /home/lat/lisp/collate/ directory.
> >>>
> >>> I've been reading sections 3.1 and 5.3.6 of the asdf2 manual, and trying
> >>> to apply what is written there, but it doesn't seem to help with the
> >>> above problem. I'm probably misunderstanding something. Would you please
> >>> point me in the right direction?
> >>
> >> Can you post the .asd file that gives rise to this, and a backtrace?
> >>
> >> Cheers,
> >> r
> > 
> > The contents of laturk-unique.asd: 
> > 
> > (in-package :asdf)
> > (defsystem "laturk-unique"
> >   :version "0.1.0"
> >   :name "laturk-unique"
> >   :author "Louis A. Turk"
> >   :description "Converts utf-8 text file to list of sorted unique
> > words."
> >   :components ((:file "packages")
> >                (:file "iterate" :depends-on ("packages"))
> >                (:file "collate" :depends-on ("iterate"))
> >                (:file "laturk-unique" :depends-on ("collate"))))
> 
> A couple of random suggestions:
> 
> 1.  Don't put this into the :asdf package.  If you want to, create your
> own package, using ASDF and COMMON-LISP, and put the definition in there
> (there's some debate about whether this is strictly necessary, but
> that's a subtlety we don't need to go into now).
> 
> 2.  Don't rely on transitive closure for dependencies.  E.g., probably
> collate depends on packages as well as iterate and similarly for
> laturk-unique.
> 
> There's nothing obviously wrong with the above, though.  Question:  can
> you give us more information about what happens when you do
> 
> (asdf:oos 'asdf:load-op :laturk-unique)
> 
> (or, if you're using asdf2, (asdf:load-system :laturk-unique) )?
> 
> I'm not sure it it's failing to find ANY of your files or only
> collate.lisp --- is collate.lisp the first one it tries to open?
> 
> Also, when you get this error, collect a backtrace from the debugger and
> pass it on, please.
> 
> cheers,
> 
> r
> > 
> > The contents of packages.lisp:
> > 
> > (in-package :common-lisp-user)
> > (defpackage :laturk-unique
> >   (:use #:cl)
> >   (:shadowing-import-from #:collate . #.(collate::external-symbols)))
> > 
> > Thank you very much for looking at this. I thought the problem was
> > fixed, but is still plagues me. I'm just a beginner at Lisp, and rather
> > confused about how to use asdf and packages. I've read the docs many
> > times, but seem to be missing something.
> > 
> > Louis
> > 
> 

For some reason it is looking in the wrong directory.

Results of (asdf:load-system :laturk-unique):

failed to find the TRUENAME of /home/lat/lisp/il/iterate.lisp:
  No such file or directory
   [Condition of type SB-INT:SIMPLE-FILE-ERROR]

Restarts:
 0: [TRY-RECOMPILING] Try recompiling iterate
 1: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {D1CA191}> on
#<ASDF:CL-SOURCE-FILE "laturk-unique" "iterate">.
 2: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {D1CA191}> on
#<ASDF:CL-SOURCE-FILE "laturk-unique" "iterate"> as having been
successful.
 3: [*ABORT] Return to SLIME's top level.
 4: [TERMINATE-THREAD] Terminate this thread (#<THREAD "new-repl-thread"
RUNNING {BCA0019}>)

Backtrace:
  0: (SB-IMPL::SIMPLE-FILE-PERROR "failed to find the TRUENAME of ~A"
#P"/home/lat/lisp/il/iterate.lisp" 2)
  1: ((FLET SB-IMPL::FAIL) "failed to find the TRUENAME of ~A"
#P"/home/lat/lisp/il/iterate.lisp" 2)
  2: (SB-IMPL::QUERY-FILE-SYSTEM
#P"/home/lat/lisp/il/iterate.lisp" :TRUENAME T)
  3: (TRUENAME #P"/home/lat/lisp/il/iterate.lisp")
  4: ((FLET SB-C::TRY-WITH-TYPE) #P"/home/lat/lisp/il/iterate.lisp"
"lisp" T)
  5: (SB-C::VERIFY-SOURCE-FILE #P"/home/lat/lisp/il/iterate.lisp")
  6: (SB-C::VERIFY-SOURCE-FILE
#P"/home/lat/lisp/il/iterate.lisp")[:EXTERNAL]
  7: (COMPILE-FILE #P"/home/lat/lisp/il/iterate.lisp")[:EXTERNAL]
  8: (ASDF:COMPILE-FILE* #P"/home/lat/lisp/il/iterate.lisp")[:EXTERNAL]
  9: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP
ASDF:CL-SOURCE-FILE)) ..)
 10: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0.
SB-PCL::.ARG1.)) ..)
 11: ((SB-PCL::FAST-METHOD ASDF::PERFORM-WITH-RESTARTS (ASDF:COMPILE-OP
ASDF:CL-SOURCE-FILE)) ..)
 12: ((LAMBDA ()))
 13: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
 14: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]324))
 15: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK ..)
 16: ((FLET SB-C::WITH-IT))
 17: ((SB-PCL::FAST-METHOD ASDF:OPERATE (T T)) #<unavailable argument>
#<unavailable argument> ASDF:LOAD-OP :LATURK-UNIQUE)[:EXTERNAL]
 18: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF:LOAD-SYSTEM :LATURK-UNIQUE)
#<NULL-LEXENV>)
 19: (SWANK::%EVAL-REGION "(asdf:load-system :laturk-unique)\n")
 20: ((LAMBDA ()))
 21: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA #) {CBBC2FD}>)
 22: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA #)
{CBBC2E5}>)
 23: (SWANK::%LISTENER-EVAL "(asdf:load-system :laturk-unique)\n")
 24: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL
"(asdf:load-system :laturk-unique)\n") #<NULL-LEXENV>)
 25: (SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL
"(asdf:load-system :laturk-unique)\n") "COMMON-LISP-USER" 154)
 26: (SWANK::PROCESS-REQUESTS NIL)
 27: ((LAMBDA ()))
 28: ((LAMBDA ()))
 29: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION
SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {BCA10A5}>)
 30: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<FUNCTION
SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {BCA10A5}>)
 31: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #)
(*STANDARD-INPUT* . #) (*TRACE-OUTPUT* . #) (*ERROR-OUTPUT* . #)
(*DEBUG-IO* . #) (*QUERY-IO* . #) ...) #<CLOSURE (LAMBDA #) {BCA10B5}>)
 32: (SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {ADAD4E9}> NIL)
 33: (SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA #) {BCA1085}>)
 34: ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK362]367))
 35: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
 36: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300))
 37: (SB-THREAD::CALL-WITH-MUTEX ..)
 38: (SB-THREAD::INITIAL-THREAD-FUNCTION)
 39: ("foreign function: #x806793B")
 40: ("foreign function: #x8052D7D")
 41: ("foreign function: #x805E660")
 42: ("foreign function: #xB7FB380E")






More information about the asdf-devel mailing list