I've tried following this guide step-by-step https://foojay.io/today/building-project-panamas-jextract-tool-by-yourself/ But sadly when I use git bash in the downloaded jextract folder there occur 3 scenarios:
- If I just run sh ./gradlew I get:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\Tim\Desktop\jextract-master\build.gradle' line: 15
* What went wrong:
A problem occurred evaluating root project 'jextract-master'.
Could not get unknown property 'llvm_home' for root project 'jextract-master' of type org.gradle.api.Project.
- So then, of course, to resolve this problem, I need to specify the location of LLVM in program arguments that I am doing like so:
$ ./gradlew -Pjdk19_home="C:\Program Files\Java\jdk-19\bin" -Pllvm_home="D:\LLVM\bin\clang.exe" clean verify
(also passing -Pjdk19_home as a parameter as suggested in the guide, but regardless of it, the error persists)
I have downloaded latest LLVM release here https://github.com/llvm/llvm-project/releases in the form of a winx64 installer. After the installation "D:\LLVM\bin" had been added to path. So the error I am getting now is:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\Tim\Desktop\jextract-master\build.gradle' line: 10
* What went wrong:
A problem occurred evaluating root project 'jextract-master'.
> No signature of method: static java.nio.file.Path.of() is applicable for argument types: (String) values: [D:\LLVM\bin\clang.exe]
Possible solutions: is(java.lang.Object), join(java.lang.String), sort(), sum(), max(), min()
- When running this command sh ./gradlew -pllvm_home=D:\LLVM\bin clean verify I get:
FAILURE: Build failed with an exception.
* What went wrong:
java.io.IOException: The filename, directory name, or volume label syntax is incorrect
* Exception is:
org.gradle.api.UncheckedIOException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.gradle.internal.FileUtils.canonicalize(FileUtils.java:204)
at org.gradle.initialization.layout.BuildLayoutFactory.layout(BuildLayoutFactory.java:89)
at org.gradle.initialization.layout.BuildLayoutFactory.getLayoutFor(BuildLayoutFactory.java:85)
at org.gradle.initialization.layout.BuildLayoutFactory.getLayoutFor(BuildLayoutFactory.java:40)
at org.gradle.launcher.cli.converter.LayoutToPropertiesConverter.configureFromBuildDir(LayoutToPropertiesConverter.java:89)
at org.gradle.launcher.cli.converter.LayoutToPropertiesConverter.convert(LayoutToPropertiesConverter.java:67)
at org.gradle.launcher.cli.DefaultCommandLineActionFactory$WithLogging.execute(DefaultCommandLineActionFactory.java:223)
at org.gradle.launcher.Main.doAction(Main.java:35)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
at org.gradle.launcher.GradleMain.main(GradleMain.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:35)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428)
at java.io.File.getCanonicalPath(File.java:624)
at java.io.File.getCanonicalFile(File.java:649)
at org.gradle.internal.FileUtils.canonicalize(FileUtils.java:202)
... 22 more
I need to build the jextract tool, but in all aforementioned cases the build failed
What should I do?
Thanks in advance.