IIUC, the default McCLIM system.lisp file loads into Common-lisp-user, loads mk-defsystem, and then tries to USE the MAKE package.
I have been using McCLIM on Allegro CL 6.2, and find that this causes me problems. The problem is that in Allegro, Common-lisp-user by default USEs the EXCL extended common-lisp package. Unfortunately, EXCL imports Allegro's OWN defsystem package, so that when you try to use MK, it causes a clash. I'm always nervous about shadowing something that Allegro wants imported, since it's bitten me before.
Fortunately, AFAICT, it's trivial to modify SYSTEM.LISP, so that you DON'T need to import anything from MK --- you can just use the package references w/o much effort.
Here's a proposed patch that seems to work just fine for me:
--- system.lisp 20 Dec 2004 15:49:49 -0000 1.106 +++ system.lisp 27 Dec 2004 15:43:54 -0000 @@ -43,12 +43,15 @@ (defparameter *clim-directory* (director (pushnew :clim *features*) (pushnew :mcclim *features*)
-#+mk-defsystem (use-package "MK") +;;; I really didn't have good luck with this on Allegro, because +;;; Allegro's CL-USER package uses it's EXCL stuff, which has its own +;;; DEFSYSTEM. [2004/12/21:rpg] +;;;#+mk-defsystem (use-package "MK")
(defmacro clim-defsystem ((module &key depends-on) &rest components) `(progn #+mk-defsystem - (defsystem ,module + (mk:defsystem ,module :source-pathname *clim-directory* :source-extension "lisp" ,@(and depends-on `(:depends-on ,depends-on))
Best, Robert
To: "mcclim developers' list" mcclim-devel@common-lisp.net Date: Mon, 27 Dec 2004 09:44:46 -0600 From: "Robert P. Goldman"
Fortunately, AFAICT, it's trivial to modify SYSTEM.LISP, so that you DON'T need to import anything from MK --- you can just use the package references w/o much effort.
-#+mk-defsystem (use-package "MK")
For some reason, you have the MK-DEFSYSTEM feature defined. Under Allegro, you should not have that defined.
Mike McDonald mikemac@mikemac.com
"mikemac" == mikemac mikemac@mikemac.com writes:
>> To: "mcclim developers' list" mcclim-devel@common-lisp.net >> Date: Mon, 27 Dec 2004 09:44:46 -0600 >> From: "Robert P. Goldman"
>> Fortunately, AFAICT, it's trivial to modify SYSTEM.LISP, so that you >> DON'T need to import anything from MK --- you can just use the package >> references w/o much effort.
>> -#+mk-defsystem (use-package "MK")
mikemac> For some reason, you have the MK-DEFSYSTEM feature mikemac> defined. Under mikemac> Allegro, you should not have that defined.
But, although I use Allegro, for portability, I use MK-DEFSYSTEM in preference to Allegro's proprietary defsystem. So it is correct that I have that feature defined, and it will be correct for anyone like me who uses mk-defsystem + Allegro. So I think the patch is still necessary (also the compulsive side of my personality feels that it's laudable to avoid use-package whenever possible).
Best, Robert
P.S. Sorry about use of wrong email address last time...