RFR: 8334895: OpenJDK fails to configure on linux aarch64 when CDS is disabled after JDK-8331942

Vladimir Petko vpetko at openjdk.org
Tue Jun 25 02:12:37 UTC 2024


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 /build/magic/arm64/jdk/build/linux-aarch64-server-release/bootcycle-spec.gmk
config.status: creating /build/magic/arm64/jdk/build/linux-aarch64-server-release/buildjdk-spec.gmk
config.status: creating /build/magic/arm64/jdk/build/linux-aarch64-server-release/compare.sh
config.status: creating /build/magic/arm64/jdk/build/linux-aarch64-server-release/Makefile

====================================================
The existing configuration has been successfully updated in
/build/magic/arm64/jdk/build/linux-aarch64-server-release
using configure arguments '--disable-jvm-feature-cds'.

Configuration summary:
* Name:           linux-aarch64-server-release
* Debug level:    release
* HS debug level: product
* JVM variants:   server
* JVM features:   server: 'compiler1 compiler2 epsilongc g1gc jfr jni-check jvmci jvmti management parallelgc serialgc services shenandoahgc vm-structs zgc' 
* OpenJDK target: OS: linux, CPU architecture: aarch64, address length: 64
* Version string: 24-internal-adhoc.ubuntu.jdk (24-internal)
* Source date:    1719281219 (2024-06-25T02:06:59Z)

Tools summary:
* Boot JDK:       openjdk version "22-ea" 2024-03-19 OpenJDK Runtime Environment (build 22-ea+16-Ubuntu-1) OpenJDK 64-Bit Server VM (build 22-ea+16-Ubuntu-1, mixed mode, sharing) (at /usr/lib/jvm/java-22-openjdk-arm64)
* Toolchain:      gcc (GNU Compiler Collection)
* C Compiler:     Version 13.2.0 (at /usr/bin/gcc)
* C++ Compiler:   Version 13.2.0 (at /usr/bin/g++)

Build performance summary:
* Build jobs:     4
* Memory limit:   7943 MB

WARNING: The result of this configuration has overridden an older
configuration. You *should* run 'make clean' to make sure you get a
proper build. Failure to do so might result in strange build problems.

The following warnings were produced. Repeated here for convenience:
WARNING: pandoc is version 2.17.1.1, not the recommended version 2.19.2
WARNING: Ignoring jtreg from path since a valid jtreg home cannot be found


---------
### Progress
- [ ] Change must be properly reviewed (1 review required, with at least 1 [Reviewer](https://openjdk.org/bylaws#reviewer))
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue



### Reviewing
<details><summary>Using <code>git</code></summary>

Checkout this PR locally: \
`$ git fetch https://git.openjdk.org/jdk.git pull/19869/head:pull/19869` \
`$ git checkout pull/19869`

Update a local copy of the PR: \
`$ git checkout pull/19869` \
`$ git pull https://git.openjdk.org/jdk.git pull/19869/head`

</details>
<details><summary>Using Skara CLI tools</summary>

Checkout this PR locally: \
`$ git pr checkout 19869`

View PR using the GUI difftool: \
`$ git pr show -t 19869`

</details>
<details><summary>Using diff file</summary>

Download this PR as a diff file: \
<a href="https://git.openjdk.org/jdk/pull/19869.diff">https://git.openjdk.org/jdk/pull/19869.diff</a>

</details>

-------------

Commit messages:
 - set default COMPATIBLE_CDS_ALIGNMENT to auto to disable option when it is not available

Changes: https://git.openjdk.org/jdk/pull/19869/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19869&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8334895
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/19869.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19869/head:pull/19869

PR: https://git.openjdk.org/jdk/pull/19869


More information about the build-dev mailing list