graalvm / mandrel

Mandrel is a downstream distribution of the GraalVM community edition. Mandrel's main goal is to provide a native-image release specifically to support Quarkus.
Other
397 stars 15 forks source link

24.1+JDK 23 ea doesn't build Linux aarch64, master+JDK 24 ea does #766

Closed Karm closed 3 months ago

Karm commented 4 months ago

Build on Linux amd64 runs fine, aarch64 ends up using part of this message as a vendor name...

WARNING: No platform-specific definition is available for distribution MUSL_CMAKE_TOOLCHAIN for your architecture (aarch64)

:x: JDK23.log

 56776 /home/tester/karm/jdk-23+30/bin/java -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version
 56777 [821394: started subprocess 821486: ['/home/tester/karm/jdk-23+30/bin/java', '-XX:+UnlockExperimentalVMOptions', '-XX:+PrintFlagsFinal', '-version']]
 56778 0:00:02.011971 [suite-discovery] Registration/Loading finished
 56779 WARNING: No platform-specific definition is available for distribution MUSL_CMAKE_TOOLCHAIN for your architecture (aarch64)
117570 [1/8] Initializing...                                                                                   (13.1s @ 0.26GB)
117571  Java version: 23-beta+30-ea, vendor version: Mandrel-WARNING: No platform-specific definition is available for distribution MUSL_CMAKE_TOOLCHAIN for your architecture (aarch64)-Final
117572  Graal compiler: optimization level: 2, target machine: armv8-a
117573  C compiler: gcc (redhat, aarch64, 11.4.1)
$ /home/tester/karm/jdk-23+30/bin/java -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version
[Global flags]
      int ActiveProcessorCount                     = -1                                        {product} {default}
<SNIP>
     intx hashCode                                 = 5                                    {experimental} {default}
openjdk version "23-beta" 2024-09-17
OpenJDK Runtime Environment Temurin-23+30-202407041904 (build 23-beta+30-ea)
OpenJDK 64-Bit Server VM Temurin-23+30-202407041904 (build 23-beta+30-ea, mixed mode, sharing)

:green_circle: JDK24.log

 11811 /home/tester/karm/jdk-24+5/bin/java -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version
 11812 [817265: started subprocess 817360: ['/home/tester/karm/jdk-24+5/bin/java', '-XX:+UnlockExperimentalVMOptions', '-XX:+PrintFlagsFinal', '-version']]
 11813 0:00:02.216828 [suite-discovery] Registration/Loading finished
118271 [1/8] Initializing...                                                                                    (3.6s @ 0.15GB)
118272  Java version: 24-beta+5-ea, vendor version: Mandrel-24.2.0-deva09a0bbb264
118273  Graal compiler: optimization level: 2, target machine: compatibility
118274  C compiler: gcc (redhat, aarch64, 11.4.1)
$ /home/tester/karm/jdk-24+5/bin/java -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version
[Global flags]
      int ActiveProcessorCount                     = -1                                        {product} {default}
<SNIP>
     intx hashCode                                 = 5                                    {experimental} {default}
openjdk version "24-beta" 2025-03-18
OpenJDK Runtime Environment Temurin-24+5-202407041902 (build 24-beta+5-ea)
OpenJDK 64-Bit Server VM Temurin-24+5-202407041902 (build 24-beta+5-ea, mixed mode, sharing)

Looking up what is different/missing....

github-actions[bot] commented 3 months ago

This issue appears to be stale because it has been open 30 days with no activity. This issue will be closed in 7 days unless Stale label is removed, a new comment is made, or not-Stale label is added.

jerboaa commented 3 months ago

@Karm This looks to be a duplicate of https://github.com/graalvm/mandrel-packaging/issues/429? A work-around is to not rely on the automatic versioning and set it explicitly.

Karm commented 3 months ago

~@jerboaa Why to you think this is a duplicate?~ ~Like that if the version detection worked, the lib selection would have worked too?~

~Because this warning is about MUSL, not JVMCI version....~

DEBUG [build] Launcher line AFTER: exec "${location}/../../../bin/java" -XX:MaxHeapSize=214748365 
-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Dorg.graalvm.version="WARNING: No platform-specific 
definition is available for distribution MUSL_CMAKE_TOOLCHAIN for your architecture (aarch64)-Final" 
-Dorg.graalvm.vendorversion="Mandrel-WARNING: No platform-specific definition is available for 
distribution MUSL_CMAKE_TOOLCHAIN for your architecture (aarch64)-Final" 
-Dorg.graalvm.vendor="GraalVM Community"
 -Dorg.graalvm.vendorurl="https://github.com/graalvm/mandrel/issues" --upgrade-module-path 
 "${location}/../../jvmci/graal.jar" "${jvm_args[@]}" ${app_path_arg} 
 "${cp_or_mp}" ${main_class} "${launcher_args[@]}"

Disregard my message, I'm just blind. mandrelVersion. I see. Gonna set it explicitly.

jerboaa commented 3 months ago

@Karm OK to close as duplicate of https://github.com/graalvm/mandrel-packaging/issues/429 then?