[cl-debian] Bug#357238: cl-asdf: Package errors on system reload

Peter Van Eynde pvaneynd at debian.org
Tue Mar 28 07:49:33 UTC 2006


Hello,

On Thursday 16 March 2006 11:29, Christian Lynbech wrote:
> The symptom is that the first I load and compiles a system, for
> instance with `clc-require', it works as expected. However, on
> subsequent starts of lisp, the load of the (now compiled) system
> fails. The full error log is below, but the error encountered is:
> 
>     The name "ASDF1073" does not designate any package.

I've been thinking about this for a while now and I think this is 
a feature, not a bug. All files should declare a package to load
into, if not the results will be unpredictable. So this is IMHO
just a gentle reminder to do an (in-package :something) at the 
start of the file.

> The system being loaded in this example is the :regex system of the
> "cl-regex" package (in version 1-1).

regex/packages.lisp does not start with "(in-package :common-lisp-user)"
when you add that line the problem should go away.

> The cause of the problem is not entirely clear to me, but I suspect
> the code for `find-system' in /usr/share/common-lisp/source/asdf/asdf.lisp.
> It contains the following:
> 
>       (let ((*package* (make-package (gensym #.(package-name *package*))
> 				     :use '(:cl :asdf))))
> 
> which will generate a new unique package at each run. However, that
> package is not likely to exist in another run of lisp. Even if a new
> package is generated in the new session, in all probability it will
> have a different name.

This is good, it protects lazy libraries against other lazy libraries
symbols. 

Does anyone disagree that this is a feature?

Groetjes, Peter

-- 
signature -at- pvaneynd.mailworks.org 
http://www.livejournal.com/users/pvaneynd/
"God, root, what is difference?" Pitr | "God is more forgiving." Dave Aronson| 





More information about the Cl-debian mailing list