Jextract tool-provider bug?

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Mon Aug 12 19:58:02 UTC 2019


On 12/08/2019 20:42, Mark Hammons wrote:
> Issuing the command from the command line does work. Issuing the 
> command from the tool provider in sbt works too, so I can only assume 
> pure java would work as well.

Ah ok, yes.

So it must be some other kind of weird interaction... in any case keep 
us posted if you find anything interesting; last time it started like 
that and we discovered that the classfiles we emitted had some mistakes :-)

Maurizio

>
> Mark
>
> On 8/12/19 9:40 PM, Maurizio Cimadamore wrote:
>>
>> On 12/08/2019 20:34, Mark Hammons wrote:
>>> Here's the output:
>>>
>>> issuing command jextract /usr/include/wlr/types/wlr_output.h 
>>> /usr/include/wlr/backend.h /usr/include/wlr/render/wlr_renderer.h 
>>> --package-map /usr/include/wlr/backend=wlroots.backend_headers 
>>> --package-map /usr/include/bits/types=usr.include.bits.type_headers 
>>> -I /usr/include/wlr -I /usr/include/wayland -I /usr/include/pixman-1 
>>> -C -DWLR_USE_UNSTABLE -L /usr/lib64 --record-library-path -l wlroots 
>>> -t wlroots -o 
>>> /home/mhammons/Documents/MyProjects/Skylight/javahelp/lib/wlroots.jar
>>>
>> And, you said, issuing this command from command line works?
>>
>> Have you tried issuing with ToolProvider API from Java?
>>
>> Maurizio
>>
>>> ~Mark
>>>
>>> On 8/12/19 1:10 PM, Mark Hammons wrote:
>>>>
>>>> I will get you a copy tonight when I return home. All I can say 
>>>> right now is that the output jextract command worked when entered 
>>>> into a terminal on its own.
>>>>
>>>> ~Mark
>>>>
>>>> On 12/08/2019 12:37, Maurizio Cimadamore wrote:
>>>>>
>>>>> It would also be helpful to get the output of this statement:
>>>>>
>>>>> logger.info(s"issuing command jextract ${command.mkString(" ")}")
>>>>>
>>>>> Maurizio
>>>>>
>>>>> On 12/08/2019 11:30, Mark Hammons wrote:
>>>>>>
>>>>>> https://github.com/markehammons/Skylight/blob/DottyRebuild/build.sc
>>>>>>
>>>>>>
>>>>>> The jextract method and run tool method in that file are how I’m 
>>>>>> invoking it. When I invoke from Sbt (finally learned how to 
>>>>>> override its scala version with one that works with jdk14+), the 
>>>>>> Sbt version of the code works, so maybe this is something related 
>>>>>> to the way mill launches tasks.
>>>>>>
>>>>>>
>>>>>> Mark Edgar Hammons II - Ingénieur d'études at BioEmergences
>>>>>> 0603695656
>>>>>>
>>>>>> On 11 Aug 2019, at 23:46, Maurizio Cimadamore 
>>>>>> <maurizio.cimadamore at oracle.com 
>>>>>> <mailto:maurizio.cimadamore at oracle.com>> 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