[Openmcl-devel] Undeclared free variable CCL::FASL-VERSION

Gary Byers gb at clozure.com
Tue Nov 29 10:34:43 PST 2011

I exported TARGET-FASL-VERSION from the CCL package in r15097.

Until all versions of CCL that ASDF wants to run on incorporate
that change, it (and other code that needs to know this information)
probably has to do somthing like:

(defun ccl-fasl-version ()
   (or (and (fboundp 'ccl::target-fasl-version)
            (funcall 'ccl::target-fasl-version))
       (and (boundp 'ccl::fasl-version)
            (symbol-value 'ccl::fasl-version))
       (error "Can't determine fasl version.")))

Yes, that's a bit awkward.  Consider it penance for referencing an
internal CCL-package symbol.

If anyone finds themselves with a need to do this sort of thing (reference
something internal because there is no public interface), please open a
feature request in Trac.  That'll:

  a) increase the chance that the public interface gets added (or that
     someone will explain that we don't think that there should be a
     public interface in some cases.)
  b) increase the chance that we'll be aware of the fact that someone's
     currently poking around in internals and possibly increase the
     chance that changes to affected internals were made public ("we
     plan to get rid of CCL::RANDOM-INTERNAL-THING soon, use ___ instead.")

On Tue, 29 Nov 2011, R. Matthew Emerson wrote:

> On Nov 29, 2011, at 12:13 PM, Leo wrote:
>> I am seeing this error:
>> Welcome to Clozure Common Lisp Version 1.8-dev-r15095M-trunk  (DarwinX8664)!
>> ? (require :asdf)
>> ;Compiler warnings for "/usr/local/ccl/tools/asdf.lisp" :
>> ;   In an anonymous lambda form at position 123432: Undeclared free variable CCL::FASL-VERSION
>>> Error: Unbound variable: CCL::FASL-VERSION
>>> While executing: #<Anonymous Function #x302000A644BF>, in process listener(1).
>>> Type :POP to abort, :R for a list of available restarts.
>>> Type :? for other options.
>> 1 >
> This is an ASDF bug.  ASDF references the internal symbol
> ccl::fasl-version, which is gone as of r15093.  (fasl
> versions are now architecture-specific.)
> As a workaround, you could either edit asdf.lisp, or else do
> (defparameter ccl::fasl-version (ccl::target-fasl-version))
> before loading ASDF.
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list