Hardware Requirements
Building on x86
Minimum requirements:- CPU: 2-4 cores
- RAM: 2-4 GB (more memory needed with more cores)
- Disk: At least 6 GB of free space
- Storage: SSD strongly recommended for best performance
Even for 32-bit builds, use a 64-bit build machine and create a 32-bit target using
--with-target-bits=32.Building on aarch64
Minimum requirements:- CPU: 8 cores minimum
- RAM: 8 GB (more memory needed with more cores)
- Disk: At least 6 GB of free space
- Storage: SSD strongly recommended
If you don’t have sufficiently powerful hardware, consider using cross-compilation.
Branch Protection
To use Branch Protection features in the VM, use--enable-branch-protection. This requires:
- GCC 9.1.0+ or Clang 10+
- Linux target platform only
- The build can run on machines with or without hardware branch protection support
Building on 32-bit ARM
Native Compiler (Toolchain) Requirements
GCC (Linux)
Minimum version: 10.0Tested version: 14.2.0
The minimum accepted clang version is 13.
Apple Xcode (macOS)
Minimum version: 13.0Recommended version: 15.4 or later
macOS version: 14 or later recommended Download Xcode from:
- App Store
- Xcode Releases for specific versions
Using specific Xcode versions
Using specific Xcode versions
You can keep multiple Xcode versions and select one for building:Option 1: System-wide (using xcode-select)Option 2: Per-build (using configure option)The second option is recommended as it doesn’t affect other builds.
Microsoft Visual Studio (Windows)
Minimum version: Visual Studio 2019 version 16.8 (MSVC 14.28, cl.exe 19.28)Maximum version: Visual Studio 2026
Tested version: Visual Studio 2022 version 17.13.2
Install US English language pack
The US English language pack is required. You can add it during installation or modify an existing installation:GUI Method:
- Click “Visual Studio Installer” in Start menu
- Click “Modify”
- Select “Language packs” tab
- Choose “English”
- Click “Modify”
If Visual Studio is installed but not detected, it may be due to spaces in the installation path. See the troubleshooting section.
Windows POSIX Support Layer
Windows requires a POSIX support layer. Supported options:- Cygwin (Recommended)
- MSYS2
- WSL (Windows Subsystem for Linux)
Install Cygwin 64-bit version.Required packages:
autoconfmakezipunzip
The JDK requires GNU Make 4.0 or greater (Cygwin typically provides this).
IBM Open XL C/C++ (AIX)
Minimum version: 17.1.1.4 (essentially clang 15)Boot JDK Requirements
Building the JDK requires a pre-existing JDK called the “boot JDK”.Version Rule
To build JDK major version N, use a boot JDK of major version N-1.
- Building JDK 18 → Use JDK 17 as boot JDK
- Building JDK 23 → Use JDK 22 as boot JDK
The JDK can “build itself”, so an up-to-date build of the current JDK source is also acceptable.
Locating Boot JDK
The configure script attempts to auto-detect a suitable boot JDK. If detection fails or selects the wrong JDK:Getting JDK Binaries
- Linux Package Managers
- Download Sites
Debian/Ubuntu:Fedora/Red Hat:
External Library Requirements
External libraries are platform-specific. Use--with-<LIB>=<path> or split options --with-<LIB>-include=<path> and --with-<LIB>-lib=<path>.
FreeType
Required on Unix-based platforms when referencing a system-installed library.- Debian/Ubuntu
- Fedora/Red Hat
- Alpine Linux
- macOS
CUPS (Common UNIX Printing System)
Required on all platforms except Windows.ALSA (Advanced Linux Sound Architecture)
Required on Linux. Minimum version: 0.9.1ALSA is needed even for headless JDK builds.
X11 Libraries
Required on Linux (not needed for headless builds on other platforms).Fontconfig
Required on all platforms except Windows and macOS.libffi
Required when building the Zero version of Hotspot.Build Tools Requirements
Autoconf
Required version: 2.69 or laterGNU Make
Minimum version: 3.81Recommended version: 4.0 or later (for better parallel building) Override the detected make:
GNU Bash
Minimum version: 3.2No other shells are supported for the build system.
Graphviz and Pandoc (Optional)
Required for building man pages and full documentation with--enable-full-docs.
Oracle uses:
- Graphviz 9.0.0
- Pandoc 2.19.2