[Openmcl-devel] building OpenMCL 1.0 from source
gb at clozure.com
Thu Nov 17 22:30:51 UTC 2005
On Thu, 17 Nov 2005, Gary King wrote:
> I was rebuilding my OpenMCL image today and followed the instructions on the
> clozure website. However, when I tried to load from the boot image, I
> received the following error
>> [billy-pilgrim:~/Applications/openmcl/ccl] gwking% ./dppccl ppc-boot.image
>> ;Loading ./l1-dfsls/l1-clos-boot.dfsl
>> Unhandled exception 4 at 0x4000004, context->regs at #xbffff138
>> ERROR: undefined function call: CCL::LOCK-ACQUISITION.STATUS
>> ? for help
> Any suggestions as to what I've done wrong?!
CCL::LOCK-ACQUISITION.STATUS is a macro; it's defined in "ccl:library;lispequ"
(via a DEF-ACCESSORS form), and is ordinarily defined as part of OpenMCL:
Welcome to OpenMCL Version 1.0 (DarwinPPC32)!
? (macro-function 'ccl::lock-acquisition.status)
#<Compiled-function CCL::LOCK-ACQUISITION.STATUS Macroexpander #x837E336>
The error you got suggests that code was compiled in an environment
where this macro wasn't defined. Calls to CCL::LOCK-ACQUISITION.STATUS
would have been treated as calls to (undefined) functions and should
have generated warnings at compile time; at runtime - early in the
loading sequence, before streams or the error system of much of CL is
available - they trap into the kernel debugger.
That all suggests that some files in the level-0 directory were compiled
with an older lisp image (perhaps only slightly older). Ordinarily, when
things change at this level I try to change version numbers in FASL files
and in the loader, so that old FASL files generate "wrong fasl version"
errors instead of ... subtle, confusing problems. I didn't do that
before the 1.0 release (and probably should have); bleeding-edge versions
from August and September may claim to support the same FASL version
as 1.0, but there were some changes in that time that justified changing
the FASL version. If you'd compiled 1.0 sources with a not-quite-1.0
lisp, you might get the error you reported.
I did try to get a fresh copy of 1.0, installed it in a new directory,
and went through the build cycle. It seemed to have worked fine.
> Gary Warren King
More information about the Openmcl-devel