Jextract tool-provider bug?
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon Aug 12 10:45:27 UTC 2019
Btw, I looked around and the
"loc: wrong sig ->" lines seem to be generated deep into the JDK
ZipFIleSystem code.
So, very likely that this kicks in when the internal jextract
compilation has to access classfiles included in some jar file.
I think first we need to make sure that jextract and the Panama JDK work
w/o all the Scala depedencies - is there any way for you to just use
jextract from the command line and verify that it works? If that works,
next step would be to use the provider interface, but inside a Java
program (so that no Scala dependencies are pulled in). If that also
work, then I think we need to look deeper at how exactly you are
invoking jextract and which JDK is being really used for that (or for
the internal compilation executed by jextract).
Maurizio
On 11/08/2019 22:46, Maurizio Cimadamore wrote:
> So, jextract works but the tool provider does not?
>
> How are you invoking jextract exactly?
>
> Thanks
> Maurizio
>
> On 11/08/2019 16:18, Mark Hammons wrote:
>> Hi all,
>>
>> I started testing jdk-14-panama+1-15 yesterday, and it seems I've run
>> into a bug when using the jextract tool provider. When I try to use
>> my jextract build target, i get the following output:
>>
>> 1 targets failed
>> javahelp.jextract java.lang.RuntimeException: In memory compilation
>> failed: /usr/include/bits/thread_shared_types_lib.java:3: error:
>> cannot access usr.include.bits
>> package usr.include.bits;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/bits/type_headers/struct_timespec_h.java:3: error:
>> cannot access usr.include.bits.type_headers
>> package usr.include.bits.type_headers;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/EGL/eglext_lib.java:3: error: cannot access usr.include.EGL
>> package usr.include.EGL;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /wlroots/clang_support/builtin$_lib.java:3: error: cannot access
>> wlroots.clang_support
>> package wlroots.clang_support;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/X11/keysym_h.java:3: error: cannot access usr.include.X11
>> package usr.include.X11;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/endian_lib.java:3: error: cannot access usr.include
>> package usr.include;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/wayland/wayland_version_h.java:3: error: cannot access
>> usr.include.wayland
>> package usr.include.wayland;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /wlroots/wlr_output_h.java:3: error: cannot access wlroots
>> package wlroots;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/KHR/khrplatform_h.java:3: error: cannot access
>> usr.include.KHR
>> package usr.include.KHR;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/pixman_1/pixman_version_lib.java:3: error: cannot access
>> usr.include.pixman_1
>> package usr.include.pixman_1;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/sys/select_lib.java:3: error: cannot access usr.include.sys
>> package usr.include.sys;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /wlroots/backend_headers/session_h.java:3: error: cannot access
>> wlroots.backend_headers
>> package wlroots.backend_headers;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/gnu/stubs_64_lib.java:3: error: cannot access
>> usr.include.gnu
>> package usr.include.gnu;
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/bits/type_headers/__sigset_t_h.java:15: error: cannot
>> access usr
>> public interface __sigset_t_h {
>> ^
>> loc: wrong sig ->a25f5b4b
>> /usr/include/bits/type_headers/__sigset_t_h.java:10: error: cannot
>> find symbol
>> @NativeHeader(
>> ^
>> symbol: class NativeHeader
>> 15 errors
>>
>> jdk.jextract/com.sun.tools.jextract.InMemoryJavaCompiler.compile(InMemoryJavaCompiler.java:59)
>>
>> jdk.jextract/com.sun.tools.jextract.Writer.ensureSourcesCompiled(Writer.java:49)
>>
>> jdk.jextract/com.sun.tools.jextract.Writer.writeJar(Writer.java:115)
>> jdk.jextract/com.sun.tools.jextract.Main.runInternal(Main.java:342)
>> jdk.jextract/com.sun.tools.jextract.Main.run(Main.java:211)
>> jdk.jextract/com.sun.tools.jextract.Main$JextractToolProvider.run(Main.java:373)
>>
>> ammonite.$file.build$javahelp$.$anonfun$runTool$1(build.sc:66)
>>
>>
>> I'm fairly certain this isn't an issue in my code, but I could be wrong.
>>
>> ~Mark
>>
More information about the panama-dev
mailing list