[Openmcl-devel] Error Compiling CLIM2

Rainer Joswig joswig at lisp.de
Wed Jul 27 12:28:41 PDT 2016


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 <mailto:Openmcl-devel at clozure.com>
> https://lists.clozure.com/mailman/listinfo/openmcl-devel <https://lists.clozure.com/mailman/listinfo/openmcl-devel>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20160727/5bbcc8bc/attachment.htm>


More information about the Openmcl-devel mailing list