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

Robert Goldman rpgoldman at sift.info
Wed Jun 30 19:04:52 UTC 2010

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

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.


> 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

More information about the asdf-devel mailing list