jextract woes
sundararajan.athijegannathan at oracle.com
sundararajan.athijegannathan at oracle.com
Mon Jan 27 09:35:25 UTC 2020
Yes, not all relevant changes in original jextract are in the new
jextract yet - in particular bundling builtin headers with jextract conf
is yet to made in new jextract.
-Sundar
On 27/01/20 5:43 am, Maurizio Cimadamore wrote:
> I noticed that problem too - I was trying to use jextract on opencl
> headers too to take a look at what came out and found that issue.
>
> This is something we fixed in the old jextract by having it include
> some clang headers by default - Sundar, I think this change is missing
> from current foreign-jextract?
>
> For now you can workaround like this (at least, this is what I used):
>
> jextract --filter cl.h -I
> /opt/clang/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-16.04/lib/clang/9.0.0/include/
> /usr/include/CL/cl.h
>
> This gave me something that was enough to Panama-ize some basic OpenCL
> examples I found on the web.
>
> (The clang path you see is the one you use to build the Panama JDK)
>
> Maurizio
>
> On 26/01/2020 23:39, Michael Zucchi wrote:
>>
>> I'm using the github repoistory, foreign-jextract branch if that
>> matters. While tracking that gnu make problem I ended up checking
>> that out because I didn't want to wait for mercurial again and I
>> wasn't sure if something was broken locally.
>>
>> By default it can't find system includes:
>>
>> notzed at shitzone:~$ /opt/panama-jextract/bin/jextract
>> /usr/include/CL/cl.h
>> WARNING: Using incubator modules: jdk.incubator.foreign,
>> jdk.incubator.jextract
>> Exception in thread "main" java.lang.RuntimeException:
>> /usr/include/CL/cl_platform.h:378:10: fatal error: 'stddef.h' file
>> not found
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$0(Parser.java:61)
>> at
>> jdk.incubator.jextract/jdk.internal.clang.TranslationUnit.processDiagnostics(TranslationUnit.java:76)
>> at
>> jdk.incubator.jextract/jdk.internal.clang.Index.parse(Index.java:102)
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:58)
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.JextractTaskImpl.parse(JextractTaskImpl.java:59)
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.JextractTaskImpl.parse(JextractTaskImpl.java:53)
>> at
>> jdk.incubator.jextract/jdk.incubator.jextract.tool.Main.run(Main.java:184)
>> at
>> jdk.incubator.jextract/jdk.incubator.jextract.tool.Main.main(Main.java:97)
>>
>> If I use gcc to pre-process it first:
>>
>> notzed at shitzone:~$ gcc -E /usr/include/CL/cl.h > cl.h
>> notzed at shitzone:~$ /opt/panama-jextract/bin/jextract cl.h
>> WARNING: Using incubator modules: jdk.incubator.jextract,
>> jdk.incubator.foreign
>> Exception in thread "main" java.lang.RuntimeException: cl.h:2989:1:
>> error: definition of builtin function '_mm_getcsr'
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$0(Parser.java:61)
>> at
>> jdk.incubator.jextract/jdk.internal.clang.TranslationUnit.processDiagnostics(TranslationUnit.java:76)
>> at
>> jdk.incubator.jextract/jdk.internal.clang.Index.parse(Index.java:102)
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:58)
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.JextractTaskImpl.parse(JextractTaskImpl.java:59)
>> at
>> jdk.incubator.jextract/jdk.internal.jextract.impl.JextractTaskImpl.parse(JextractTaskImpl.java:53)
>> at
>> jdk.incubator.jextract/jdk.incubator.jextract.tool.Main.run(Main.java:184)
>> at
>> jdk.incubator.jextract/jdk.incubator.jextract.tool.Main.main(Main.java:97)
>>
>> Regards,
>> Michael
>>
More information about the panama-dev
mailing list