[asdf-devel] Fwd: can't compile-file then load asdf.lisp

Faré fahree at gmail.com
Wed Jul 8 23:11:11 UTC 2009


Apparently, it is incorrect to try to update ASDF from a system where
an older version of ASDF has already been loaded  from which some
DEFUNs (e.g. SYSTEM-SOURCE-FILE) have since converted to DEFGENERICs.
This means that if you have an old clisp from debian and try to use
the newer ASDF, you're out of luck.

As a remedy, could we prepend the defpackage in asdf.lisp with the following?

(eval-when (:compile-toplevel :load-toplevel)
   (let ((package (find-package '#:asdf)))
      (when package (delete-package package))))

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Instead of loving your enemies, treat your friends a little better.
                -- Edgar Watson Howe



---------- Forwarded message ----------
From: Sam Steingold <sds at gnu.org>
Date: 2009/7/8
Subject: Re: can't compile-file then load asdf.lisp
To: Faré <fahree at gmail.com>
Cc: clisp-list at lists.sourceforge.net


Faré wrote:
>
> If I grab the latest asdf.lisp from git and try to compile-file it

the one I have comes from
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/ and it compiles and
loads just fine.

> then load it, I get a weird error message.
>
> WARNING: DEFGENERIC: redefining function SYSTEM-SOURCE-FILE in
>         /dev/shm/tmp/fare/xcvb-0.320/dependencies/asdf/asdf.fas, was
> defined in top-level
> *** - ENSURE-GENERIC-FUNCTION: SYSTEM-SOURCE-FILE does not name a
> generic function

this means that you have defined a regular function (with DEFUN) and now are
trying to redefine it with DEFGENERIC.
since asdf.lisp does not do that, you, apparently, have this function defined
somewhere else.




More information about the asdf-devel mailing list