[Openmcl-devel] Error Compiling CLIM2
Craig Lanning
craig.t.lanning at gmail.com
Wed Jul 27 13:28:47 PDT 2016
OK. I've fixed some of the Reader Macro (#+) stuff, and I figured that
I hadn't fixed them all. Looks like I'll have to go inspect the code
instead of depending on the compiler dying and telling me where
something needs to be fixed.
Craig
On Wed, 2016-07-27 at 21:28 +0200, Rainer Joswig wrote:
> Hi Craig,
>
> that's tricky. You need to do some more work before you can compile
> the code.
>
>
> You need to check the sources first for feature expressions.
>
> for example:
>
> In utils/clos-patches.lisp :
>
>
> #+CCL-2
> (defun-inline compile-file-environment-p (environment)
> (if (eq environment 'compile-file)
> t
> (ccl::compile-file-environment-p environment)))
>
>
> This looks like it is for something like Coral Common Lisp, later
> known as MCL.
> So this is for a MCL which had CCL-2 (Coral Common Lisp 2.0) as a
> feature.
>
> But it looks like about function would also be useful for Clozure CL.
>
> Your error happens because the code calls compile-file-environment-p
> with the argument compile-file.
> Above function patches the MCL variant to allow that arg. But the
> patch is not active for Clozure CL.
> And the Clozure CL version is called for some reason, but it does not
> take care of the COMPILE-FILE argument.
>
> So Clozure CL also uses :CCL-somenumber to name different version.
> Since Clozure has different version numbers, CCL-2 is not on the
> feature list.
> It has: :CCL :CCL-1.2 :CCL-1.3 :CCL-1.4 :CCL-1.5 :CCL-1.6 :CCL-1.7
> :CCL-1.8 :CCL-1.9 :CCL-1.10 :CCL-1.11 :CCL-1.12
>
> So what you need to do:
>
> * find all code where the feature CCL-something is used.
>
> * check whether the code is still working in Clozure CL
>
> * Change: #+ccl-2 should be #+(and mcl ccl-2) , to keep the old MCL
> functionality
>
> * for Clozure CL either copy the code, create a new version, ...
>
> The use feature expression to make sure it is clear for which Lisp
> it is...
> #+:CLOZURE-COMMON-LISP
>
> Regards,
>
> Rainer
>
>
>
>
>
> > Am 27.07.2016 um 20:45 schrieb Craig Lanning <craig.t.lanning at gmail
> > .com>:
> >
> > Attached is the backtrace.
> >
> > The symbols in the CLSM package are part of my system management
> > package.
> >
> > Craig
> >
> > On Wed, 2016-07-27 at 14:05 -0400, Craig Lanning wrote:
> > > While compiling CLIM, I ran into this error:
> > >
> > > ;; Compiling clim:clim;completer.lisp.newest
> > > >
> > > > Error: The value COMPILE-FILE is not of the expected type
> > > CCL::LEXICAL-ENVIRONMENT.
> > > >
> > > > While executing: CCL::DEFINITION-ENVIRONMENT, in process
> > > > listener(1).
> > > > Type :POP to abort, :R for a list of available restarts.
> > > > Type :? for other options.
> > > 1 >
> > >
> > > It appears to be some kind of disconnect between the compilation
> > > environment and the compiling the file. I'm not sure what to
> > > look at
> > > to figure out what is really wrong. Any suggestions?
> > >
> > > Craig
> > <backtrace.txt>_______________________________________________
> > Openmcl-devel mailing list
> > Openmcl-devel at clozure.com
> > https://lists.clozure.com/mailman/listinfo/openmcl-devel
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list