RFR: 8334895: OpenJDK fails to configure on linux aarch64 when CDS is disabled after JDK-8331942
Erik Joelsson
erikj at openjdk.org
Tue Jun 25 09:44:09 UTC 2024
On Mon, 24 Jun 2024 22:22:38 GMT, Vladimir Petko <vpetko at openjdk.org> wrote:
> This PR sets COMPATIBLE_CDS_ALIGNMENT_DEFAULT to auto for aarch64.
> This allows to avoid configure error on arm64:
>
> $ sh configure --disable-jvm-feature-cds
> ...
> checking if CDS archive is available... no (CDS is disabled)
> checking if a default CDS archive should be generated... disabled, from default 'auto'
> checking if CDS archive is available... no (CDS is disabled)
> checking if compatible cds region alignment enabled... enabled, default
> configure: error: Option --enable-compatible-cds-alignment is not available
> configure exiting with result code 1
>
> after applying the change:
>
> $ sh configure --disable-jvm-feature-cds
> ...
> checking if the CDS classlist generation should be enabled... disabled, from default 'auto'
> checking if any translations should be excluded... no
> checking if static man pages should be copied... enabled, default
> checking if CDS archive is available... no (CDS is disabled)
> checking if a default CDS archive should be generated... disabled, from default 'auto'
> checking if CDS archive is available... no (CDS is disabled)
> checking if compatible cds region alignment enabled... disabled, from default 'auto'
> checking for number of cores... 4
> checking for memory size... 7943 MB
> checking for appropriate number of jobs to run in parallel... 4
> checking whether to use javac server... enabled, default
> checking flags for boot jdk java command ... -Duser.language=en -Duser.country=US -XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=/build/magic/arm64/jdk/build/linux-aarch64-server-release/configure-support/classes.jsa -Xshare:auto
> checking flags for boot jdk java command for big workloads... -Xms64M -Xmx1600M
> checking flags for bootcycle boot jdk java command for big workloads... -Xms64M -Xmx1600M
> checking flags for boot jdk java command for small workloads... -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
> checking for --enable-icecc... disabled, default
> checking if precompiled headers are available... yes
> checking for --enable-precompiled-headers... enabled, from default 'auto'
> checking for ccache... [not found]
> checking if ccache is available... no, ccache binary missing or not executable
> checking if ccache is enabled... disabled, default
> checking if build directory is on local disk... yes
> configure: creating /build/magic/arm64/jdk/build/linux-aarch64-server-release/configure-support/config.status
> config.status: creating /build/magic/arm64/jdk/build/linux-aarch64-server-release/spec.gmk
> config.status: creating...
Looking at this, there are more problems. In the `UTIL_ARG_ENABLE` for `compatible-cds-alignment`, the `DEFAULT_DESC` is just `disabled` which isn't correct. It's disabled except on linux-aarch64. This seems like an oversight in JDK-8331942.
Would you mind addressing this as well?
make/autoconf/jdk-options.m4 line 202:
> 200: COMPATIBLE_CDS_ALIGNMENT_DEFAULT=auto
> 201: fi
> 202: AC_SUBST(COMPATIBLE_CDS_ALIGNMENT_DEFAULT)
This line should be removed. There is no reason to export the default value in spec.gmk (and it's not currently present either).
-------------
PR Review: https://git.openjdk.org/jdk/pull/19869#pullrequestreview-2138045305
PR Review Comment: https://git.openjdk.org/jdk/pull/19869#discussion_r1652370222
More information about the build-dev
mailing list