Re: ABCL via homebrew
Mark Evenson <[email protected]> Mon, 7 Sep 2020 16:57:04 +0200
| Newsgroups | gmane.editors.j.devel |
|---|---|
| Message-ID | <[email protected]> |
> On Aug 28, 2020, at 21:24, Alexandre Rademaker <[email protected]> wrote: > > > I have ABCL installed in my system using brew: > > % brew info abcl > abcl: stable 1.7.1 (bottled), HEAD > Armed Bear Common Lisp: a full implementation of Common Lisp > https://abcl.org/ > /usr/local/Cellar/abcl/1.7.1_1 (8 files, 11.0MB) * > Poured from bottle on 2020-08-28 at 13:42:31 > From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/abcl.rb > License: GPL-2.0-or-later with Classpath-exception-2.0 > ==> Dependencies > Required: ant ✔, openjdk ✔, rlwrap ✔ > ==> Options > --HEAD > Install HEAD version > ==> Analytics > install: 59 (30 days), 211 (90 days), 486 (365 days) > install-on-request: 53 (30 days), 190 (90 days), 437 (365 days) > build-error: 0 (30 days) > > But until now, it was working fine, but now, after the update I am getting the error below. I looks like the openjdk used to compile was not updated in brew, any solution? > > ar@leme bin % abcl > Error: A JNI error has occurred, please check your installation and try again > Exception in thread "main" java.lang.UnsupportedClassVersionError: org/armedbear/lisp/Main has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0 > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:756) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) > at java.net.URLClassLoader.access$100(URLClassLoader.java:74) > at java.net.URLClassLoader$1.run(URLClassLoader.java:369) > at java.net.URLClassLoader$1.run(URLClassLoader.java:363) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:362) > at java.lang.ClassLoader.loadClass(ClassLoader.java:418) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) > at java.lang.ClassLoader.loadClass(ClassLoader.java:351) > at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) The brew recipe you reference seemingly specifies using openjdk14 to compile which is why the class version of org/armedbear/lisp/Main is reported as 58.0. But it seems that the `abcl` script is attempting to start ABCL with an Java 8 runtime (which has class file version 52.0). I don’t really use Homebrew, so don’t really know how it manages the Java runtime infrastructure used by its installation of recipes, but here’s how I would diagnose your setup. 1) Check the contents of the `abcl` script to see what version of Java it is trying to use. 2) Possibly start abcl with the `—-noinit` flag to see if that makes a difference. -- "A screaming comes across the sky. It has happened before but there is nothing to compare to it now."