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:
- 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).
- 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")