
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|