On Mon, 02 Aug 2004 at 10:43:35 -0700, glr wrote:
> OK ...
> 1) I downloaded from the CVS this morning (Monday).
> 2) Ran basic build under jdk142 and got:
> c:\temp\j\j>ant all
> ant all
> Buildfile: build.xml
> BUILD SUCCESSFUL
> Total time: 43 seconds
> c:\temp\j\j>java -cp j.jar org.armedbear.lisp.Main
> java -cp j.jar org.armedbear.lisp.Main
> Armed Bear Common Lisp 0.0.3.16+ (built Mon Aug 02 2004 10:31:36 PDT)
> Java 1.4.2_03 Sun Microsystems Inc.
> Java HotSpot(TM) Client VM
> Low-level initialization completed in 0.972 seconds.
> Error: unhandled condition: #<ERROR @ #xe45076>
> Evaluation stack:
> 0: (SYSTEM::LOAD-COMPILED-FUNCTION
The fact that it's trying to load a .cls file means that there was at
least one .abcl file lying around when you started abcl after doing the
The safest thing to do, when building abcl, is to delete all the .abcl
and .cls files in the src/org/armedbear/lisp directory before trying to
restart abcl after you have rebuilt the Java source (using ant or make).
If you don't delete the .abcl files, things might work fine, or you
might get the sort of problem you're reporting above, depending on how
far out of sync things are.
For example, changes to the .java files might have removed something
that was required by the old .cls files. (It's also possible, and in
fact a more common case, that a new version of the compiler won't work
unless you have a new version of the .java files, but that's not what's
The confusion is compounded because abcl will probably encounter the
error while trying to load its library files, so it might not be in a
position to produce a useful error message.
So, to summarize, for best results follow these steps:
1. Delete all the .class files in src/org/armedbear/lisp. "ant
clean" or "make clean" should suffice.
2. Rebuild the .java files using ant or make.
3. Delete all the .abcl and .cls files in src/org/armedbear/lisp.
4. Fire up abcl.
5. Do COMPILE-SYSTEM.
6. Restart abcl again to pick up the freshly-compiled files.
If you're working on abcl itself and you know what you're doing, you
can often skip some of these steps. But if you encounter odd problems,
following these steps is your best bet.