-
-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to make the JDK #3792
Comments
It's looks like you're trying to build Java 19 which is no longer under support. Have you tried building an LTS version (17 or 21)? |
Is this for Arm32? |
Yes, it was originally intended for arm32 architecture, but Temurin builds no longer support arm32. Therefore, I've switched to building for arm64 architecture. Now, I'm unsure about the specific compiler settings that need to be adjusted to successfully build OpenJDK using Temurin. |
Can you post what command you used with makejdk-any-platform.sh? |
Ugh. Can you spare us some time, and pinpoint a bit more directly what you re trying to do? Usually calling to makejdk_any_platform.sh do not need tha tmuch logic. I had brieafly looked over Dockerfile, build.sh and docker-img.sh and noticed few things: in docker file is Why there is copy of temurin-repo? Are there osme changes? I'm not brave enough to launch this:) |
This is what I'm trying to do In order to keep using the latest Java versions and features, I have to create the JDK and JRE ourselves. I want to make this task as automated as possible. I've managed to make JDK and JRE Debian packages work for Java 21 on a Raspberry Pi. But this process takes a lot of time and isn't good for doing over and over again. So, I've software and scripts on the Docker Server temurin" directory. I'm trying to build "arm32" JDKs on the server using Docker and QEMU. But until now, I haven't been successful in building the images. |
@manojniit I cannot tell from your build scripts how and where you are following instructions similar to: |
I don't believe
Hi @manojniit, it should work ok ... You can use our pre-built docker images for running the build to make things simpler:
We create that build image from this Dockerfile and publish it at Dockerhub so you don't need to build it yourself but I'm giving you the link in case you want to build it yourself. It sounds like your goal is to build a version of JDK21 for Arm32 which Temurin does not currently provide. To do this you will also need an Arm32 JDK20 or 21 to use as the boot JDK. You can get an "Early access" Temurin 20 build from us which will be suitable as a boot JDK - it just hasn't gone through all of our testing process. You could start with JDK19, use that as a boot JDK to build a JDK20, then use your built 20 to build 21 but it's simpler to use our 20-ea build. The only other thing you'll need to define within that image is the compiler, since the default gcc 5.4 in Ubuntu 16.04 is not suitable for building JDK21. The following steps should allow you to build a JDK21 within the container with GCC11.2 - the same version we use for JDK21 on most other architectures:
Once that completes you should have a usable JDK as a tarball in
I've added the Hope that helps. |
I'm still unclear on what you're trying to achieve. From your earlier message you said:
Your commands above are pulling from We cannot provide any assistance if the problem you're seeing with your scripts is related to the crash on JDK19 (which is also out of support) as per your original message. |
That makes sense, but your scripts do not seem consistent with that - they are trying to use JDK19 to build JDK20 on aarch64, not JDK21 on arm32. Are you able to configure your script to use the commands and docker images I gave earlier, which seem to be the ones that will allow you to easily meet your goals of creating a JDK21 on arm32 the same way we do. |
On another note, I'd be very interested in knowing what you plan to use Arm32 JDK21 for - if you're able to willing to a add a comment into adoptium/adoptium-support#962 (comment) to say why you would find that useful that would be helpful so we can collect all such reasons in one place :-) |
I'm about to go on vacation until June so I won't be able to provide any more advice, but I'm not sure what to suggest. if you are able to run the JDK to get this message out of the build summary in the arm32 container: |
Hi, I didn't get the solution for the above problems. I tried your way as well, but it is also not working. I have been trying for 1 month. If you have any solution, I would appreciate your help. While researching the problem, I found out that the issue is with QEMU. I have provided the reference link below (https://gitlab.com/qemu-project/qemu/-/issues/263). I tried your way but got the spawn error. I gave all the permissions (https://stackoverflow.com/questions/61301818/java-failed-to-exec-spawn-helper-error-since-moving-to-java-14-on-linux), but I still didn't find any solution. If you have any solutions, please feel free to share them with me. I am trying to implement OpenJDK for Raspberry Pi for ARM 32. |
What are you trying to do?
I'm trying to build the java temurin-jdk. but i got the below exception. Where i need to change the compiler settings?
Observed behaviour:
An exception has occurred in the compiler (19.0.2). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program, the following diagnostic, and the parameters passed to the Java compiler in your report. Thank you.
java.io.UncheckedIOException: java.nio.file.FileSystemException: .: Value too large for defined data type
at java.base/java.nio.file.Files$2.hasNext(Files.java:3802)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1921)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.list(JavacFileManager.java:491)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.list(JavacFileManager.java:778)
at jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:750)
at jdk.compiler/com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:687)
at jdk.compiler/com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:568)
at jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:312)
at jdk.compiler/com.sun.tools.javac.code.Symtab.lambda$addRootPackageFor$8(Symtab.java:827)
at jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:682)
at jdk.compiler/com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:356)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:549)
at jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:286)
at jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:301)
at jdk.compiler/com.sun.tools.javac.comp.Enter.complete(Enter.java:604)
at jdk.compiler/com.sun.tools.javac.comp.Enter.main(Enter.java:588)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1042)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:917)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:317)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:176)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:64)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:50)
Caused by: java.nio.file.FileSystemException: .: Value too large for defined data type
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
at java.base/sun.nio.fs.UnixException.asIOException(UnixException.java:115)
at java.base/sun.nio.fs.UnixDirectoryStream$UnixDirectoryIterator.readNextEntry(UnixDirectoryStream.java:168)
at java.base/sun.nio.fs.UnixDirectoryStream$UnixDirectoryIterator.hasNext(UnixDirectoryStream.java:198)
at java.base/java.nio.file.Files$2.hasNext(Files.java:3800)
... 29 more
printing javac parameters to: /app/workspace/build/src/make/hotspot/javac.20240506_195918.args
gmake[3]: *** [gensrc/GensrcJvmti.gmk:36: /app/workspace/build/src/build/linux-arm-server-release/hotspot/variant-server/tools/jvmti/_the.BUILD_JVMTI_TOOLS_batch] Error 4
gmake[2]: *** [make/Main.gmk:245: hotspot-server-gensrc] Error 2
gmake[2]: *** Waiting for unfinished jobs....
Compiling up to 245 files for BUILD_jdk.javadoc.interim
Compiling up to 17 files for BUILD_JAVAC_SERVER
error: cannot read directory /app/workspace/build/src/build/linux-arm-server-release/buildtools/interim_langtools_modules
1 error
gmake[3]: *** [CompileInterimLangtools.gmk:124: /app/workspace/build/src/build/linux-arm-server-release/buildtools/interim_langtools_modules/java.compiler.interim/_the.BUILD_java.compiler.interim_batch] Error 1
gmake[3]: *** Waiting for unfinished jobs....
gmake[2]: *** [make/Main.gmk:78: interim-langtools] Error 2
ERROR: Build failed for targets 'images legacy-jre-image test-image static-libs-image' in configuration 'linux-arm-server-release' (exit code 2)
=== Output from failing command(s) repeated here ===
For target buildtools_interim_langtools_modules_java.compiler.interim__the.BUILD_java.compiler.interim_batch:
error: cannot read directory /app/workspace/build/src/build/linux-arm-server-release/buildtools/interim_langtools_modules
1 error
For target hotspot_variant-server_tools_jvmti__the.BUILD_JVMTI_TOOLS_batch:
An exception has occurred in the compiler (19.0.2). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program, the following diagnostic, and the parameters passed to the Java compiler in your report. Thank you.
java.io.UncheckedIOException: java.nio.file.FileSystemException: .: Value too large for defined data type
at java.base/java.nio.file.Files$2.hasNext(Files.java:3802)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1921)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.list(JavacFileManager.java:491)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.list(JavacFileManager.java:778)
at jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:750)
... (rest of output omitted)
All command lines available in /app/workspace/build/src/build/linux-arm-server-release/make-support/failure-logs.
=== End of repeated output ===
No indication of failed target found.
HELP: Try searching the build log for '] Error'.
HELP: Run 'make doctor' to diagnose build problems.
make[1]: *** [/app/workspace/build/src/make/Init.gmk:320: main] Error 2
make: *** [/app/workspace/build/src/make/Init.gmk:186: images] Error 2
OpenJDK make failed, archiving make failed logs
Copying build.log to TemurinLogsArchive
Copying make-support/failure-logs to TemurinLogsArchive
Archiving and compressing with gzip
gzip: warning: GZIP environment variable is deprecated; use an alias or script
real 0m0.052s
user 0m0.070s
sys 0m0.015s
Your archive was created as /app/workspace/build/src/build/linux-arm-server-release/OpenJDK.tar.gz
Moving the artifact to location /app/workspace/target//OpenJDK-makefailurelogs.tar.gz
archive done.
Failed to make the JDK, exiting****
Any other comments:
Can anyone help me with this?
The text was updated successfully, but these errors were encountered: