Discussion:
It appears that ABCL is not ready for Java 9
Gregory Baryza
2017-09-27 17:51:29 UTC
Permalink
I tried compiling it and was presented with the following error:
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/org/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; The following functions were used but not defined:
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.

BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The following
error occurred while executing this line:
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1

Total time: 6 minutes 11 seconds

It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
Robert Goldman
2017-09-27 17:56:57 UTC
Permalink
That's weird, because looking at this
http://download.java.net/java/jdk9/docs/api/java/net/URLClassLoader.html#getURLs--
(http://preview.tinyurl.com/yat6a6oq), it looks like that method is
still supplied in Java 9.

But I'm not a Java person at all, so I could easily be wrong about this.
Post by Gregory Baryza
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/org/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.
BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The
following
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1
Total time: 6 minutes 11 seconds
It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
Gregory Baryza
2017-09-27 18:09:39 UTC
Permalink
I am not a Java 9 expert either. I just installed and switched the value of
JAVA_HOME to point to it. I ran ant under Windows 10 in the build directory
and sent the output to a log file. That's all I know at the moment.
That's weird, because looking at this http://download.java.net/java/
jdk9/docs/api/java/net/URLClassLoader.html#getURLs-- (
http://preview.tinyurl.com/yat6a6oq), it looks like that method is still
supplied in Java 9.
But I'm not a Java person at all, so I could easily be wrong about this.
Post by Gregory Baryza
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/or
g/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.
BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The following
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1
Total time: 6 minutes 11 seconds
It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
Gregory Baryza
2017-09-27 18:12:12 UTC
Permalink
I will add that the build warns not to use Java 9. It appears it should
fail right there.
Post by Gregory Baryza
I am not a Java 9 expert either. I just installed and switched the value
of JAVA_HOME to point to it. I ran ant under Windows 10 in the build
directory and sent the output to a log file. That's all I know at the
moment.
That's weird, because looking at this http://download.java.net/java/
jdk9/docs/api/java/net/URLClassLoader.html#getURLs-- (
http://preview.tinyurl.com/yat6a6oq), it looks like that method is still
supplied in Java 9.
But I'm not a Java person at all, so I could easily be wrong about this.
Post by Gregory Baryza
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/or
g/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.
BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The following
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1
Total time: 6 minutes 11 seconds
It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
Alessio Stalla
2017-09-27 18:26:49 UTC
Permalink
The issue is that in Java 9 the platform classloader is not an
URLClassLoader anymore. It was never specified to be one, but it happened
to be so in all widely used implementations.
Post by Gregory Baryza
I will add that the build warns not to use Java 9. It appears it should
fail right there.
Post by Gregory Baryza
I am not a Java 9 expert either. I just installed and switched the value
of JAVA_HOME to point to it. I ran ant under Windows 10 in the build
directory and sent the output to a log file. That's all I know at the
moment.
That's weird, because looking at this http://download.java.net/java/
jdk9/docs/api/java/net/URLClassLoader.html#getURLs-- (
http://preview.tinyurl.com/yat6a6oq), it looks like that method is
still supplied in Java 9.
But I'm not a Java person at all, so I could easily be wrong about this.
Post by Gregory Baryza
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/or
g/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.
BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The following
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1
Total time: 6 minutes 11 seconds
It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
Gregory Baryza
2017-09-27 18:38:23 UTC
Permalink
I'm not classloader-competent but I'll see what I can do. Don't anyone wait
for me; it may take a while.
Post by Alessio Stalla
The issue is that in Java 9 the platform classloader is not an
URLClassLoader anymore. It was never specified to be one, but it happened
to be so in all widely used implementations.
Post by Gregory Baryza
I will add that the build warns not to use Java 9. It appears it should
fail right there.
Post by Gregory Baryza
I am not a Java 9 expert either. I just installed and switched the value
of JAVA_HOME to point to it. I ran ant under Windows 10 in the build
directory and sent the output to a log file. That's all I know at the
moment.
That's weird, because looking at this http://download.java.net/java/
jdk9/docs/api/java/net/URLClassLoader.html#getURLs-- (
http://preview.tinyurl.com/yat6a6oq), it looks like that method is
still supplied in Java 9.
But I'm not a Java person at all, so I could easily be wrong about this.
Post by Gregory Baryza
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/or
g/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.
BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The following
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1
Total time: 6 minutes 11 seconds
It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
Mark Evenson
2017-09-27 23:42:08 UTC
Permalink
Post by Gregory Baryza
....
[java] ; Loading
C:/Downloads/Armed_Bear_Lisp/abcl-src-1.5.0/build/classes/org/armedbear/lisp/abcl-contrib.abcl
...
[java]
[java] ; Compilation unit finished
[java] ; SYSTEM::SOURCE
[java]
[java] 311.988 seconds real time
[java] 249904041 cons cells
[java] JAVA-EXCEPTION: Java exception
'java.lang.NoSuchMethodException: No applicable method named getURLs found
in java.lang.ClassLoader or
jdk.internal.loader.ClassLoaders$AppClassLoader'.
BUILD FAILED
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:280: The following
C:\Downloads\Armed_Bear_Lisp\abcl-src-1.5.0\build.xml:299: Java returned: -1
Total time: 6 minutes 11 seconds
It compiled successfully under JDK_1_8_0_144. Has anyone else seen this?
[Java 9][java9] poses a fair number of challenges for ABCL that have not
been addressed. A fairly trivial patch for compilation is attached to
the ticket, but a much deeper problem lies in the tightening of
restrictions in what one can do with Java interfaces.

In short, I do not see an easy way forward, but perhaps greater minds
can think of a better kludge.

[java9]: http://abcl.org/trac/ticket/423
--
"A screaming comes across the sky. It has happened before, but there
is nothing to compare to it now."
Loading...