1. 生成makefile
环境:ubuntu18.04
编译debug版本的openjdk
$ bash configure --enable-debug
Runnable configure script is not present
Generating runnable configure script at /home/tree/code/open-jdk/build/.configure-support/generated-configure.sh
Autoconf is not found on the PATH (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin), and AUTOCONF is not set.
You need autoconf to be able to generate a runnable configure script.
You might be able to fix this by running 'sudo apt-get install autoconf'.
Error: Cannot find autoconf
安装依赖autoconf等相关库
$ sudo apt install autoconf
自动会安装automake autotools-dev libsigsegv2 m4
$ bash configure --enable-debug
Runnable configure script is not present
Generating runnable configure script at /home/tree/code/open-jdk/build/.configure-support/generated-configure.sh
Using autoconf at /usr/bin/autoconf [autoconf (GNU Autoconf) 2.69]
configure: Configuration created at Mon Jan 24 22:21:11 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
checking for javac... [not found]
checking for java... [not found]
configure: Could not find a valid Boot JDK. OpenJDK distributions are available at http://jdk.java.net/.
configure: error: Cannot continue
configure: This might be fixed by explicitly setting --with-boot-jdk
configure exiting with result code 1
下载安装用于boot的jdk
$ wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
$ sudo tar xf openjdk-17.0.2_linux-x64_bin.tar.gz -C /opt
$ bash configure --enable-debug --with-boot-jdk=/opt/jdk-17.0.2
configure: Configuration created at Mon Jan 24 22:33:06 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /opt/jdk-17.0.2
checking Boot JDK version... openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... false
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC... /usr/bin/x86_64-linux-gnu-gcc-9
configure: Using gcc C compiler version 9.3.0 [gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for g++... [not found]
configure: error: Could not find a C++ compiler. You might be able to fix this by running 'sudo apt-get install build-essential'.
configure exiting with result code 1
安装 build-essntial
$ sudo apt install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
dpkg-dev fakeroot g++ g++-9 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libfakeroot libstdc++-9-dev
Suggested packages:
debian-keyring g++-multilib g++-9-multilib gcc-9-doc libstdc++-9-doc
The following NEW packages will be installed:
build-essential dpkg-dev fakeroot g++ g++-9 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libfakeroot
libstdc++-9-dev
0 upgraded, 10 newly installed, 0 to remove and 41 not upgraded.
Need to get 11.0 MB of archives.
After this operation, 49.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libstdc++-9-dev amd64 9.3.0-17ubuntu1~20.04 [1,714 kB]
Get:2 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 g++-9 amd64 9.3.0-17ubuntu1~20.04 [8,405 kB]
Get:3 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 g++ amd64 4:9.3.0-1ubuntu2 [1,604 B]
Get:4 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 dpkg-dev all 1.19.7ubuntu3 [679 kB]
Get:5 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 build-essential amd64 12.8ubuntu1.1 [4,664 B]
Get:6 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libfakeroot amd64 1.24-1 [25.7 kB]
Get:7 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 fakeroot amd64 1.24-1 [62.6 kB]
Get:8 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libalgorithm-diff-perl all 1.19.03-2 [46.6 kB]
Get:9 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libalgorithm-diff-xs-perl amd64 0.04-6 [11.3 kB]
Get:10 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libalgorithm-merge-perl all 0.08-3 [12.0 kB]
Fetched 11.0 MB in 2min 33s (71.7 kB/s)
Selecting previously unselected package libstdc++-9-dev:amd64.
(Reading database ... 173900 files and directories currently installed.)
Preparing to unpack .../0-libstdc++-9-dev_9.3.0-17ubuntu1~20.04_amd64.deb ...
Unpacking libstdc++-9-dev:amd64 (9.3.0-17ubuntu1~20.04) ...
Selecting previously unselected package g++-9.
Preparing to unpack .../1-g++-9_9.3.0-17ubuntu1~20.04_amd64.deb ...
Unpacking g++-9 (9.3.0-17ubuntu1~20.04) ...
Selecting previously unselected package g++.
Preparing to unpack .../2-g++_4%3a9.3.0-1ubuntu2_amd64.deb ...
Unpacking g++ (4:9.3.0-1ubuntu2) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../3-dpkg-dev_1.19.7ubuntu3_all.deb ...
Unpacking dpkg-dev (1.19.7ubuntu3) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../4-build-essential_12.8ubuntu1.1_amd64.deb ...
Unpacking build-essential (12.8ubuntu1.1) ...
Selecting previously unselected package libfakeroot:amd64.
Preparing to unpack .../5-libfakeroot_1.24-1_amd64.deb ...
Unpacking libfakeroot:amd64 (1.24-1) ...
Selecting previously unselected package fakeroot.
Preparing to unpack .../6-fakeroot_1.24-1_amd64.deb ...
Unpacking fakeroot (1.24-1) ...
Selecting previously unselected package libalgorithm-diff-perl.
Preparing to unpack .../7-libalgorithm-diff-perl_1.19.03-2_all.deb ...
Unpacking libalgorithm-diff-perl (1.19.03-2) ...
Selecting previously unselected package libalgorithm-diff-xs-perl.
Preparing to unpack .../8-libalgorithm-diff-xs-perl_0.04-6_amd64.deb ...
Unpacking libalgorithm-diff-xs-perl (0.04-6) ...
Selecting previously unselected package libalgorithm-merge-perl.
Preparing to unpack .../9-libalgorithm-merge-perl_0.08-3_all.deb ...
Unpacking libalgorithm-merge-perl (0.08-3) ...
Setting up libstdc++-9-dev:amd64 (9.3.0-17ubuntu1~20.04) ...
Setting up libalgorithm-diff-perl (1.19.03-2) ...
Setting up libfakeroot:amd64 (1.24-1) ...
Setting up dpkg-dev (1.19.7ubuntu3) ...
Setting up fakeroot (1.24-1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up g++-9 (9.3.0-17ubuntu1~20.04) ...
Setting up g++ (4:9.3.0-1ubuntu2) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (12.8ubuntu1.1) ...
Setting up libalgorithm-diff-xs-perl (0.04-6) ...
Setting up libalgorithm-merge-perl (0.08-3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
$
tree@tree:~/code/open-jdk$ bash configure --enable-debug --with-boot-jdk=/opt/jdk-17.0.2
configure: Configuration created at Mon Jan 24 22:37:47 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /opt/jdk-17.0.2
checking Boot JDK version... openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... false
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC... /usr/bin/x86_64-linux-gnu-gcc-9
configure: Using gcc C compiler version 9.3.0 [gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for g++... /usr/bin/g++
checking resolved symbolic links for CXX... /usr/bin/x86_64-linux-gnu-g++-9
configure: Using gcc C++ compiler version 9.3.0 [g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking how to run the C preprocessor... /usr/bin/gcc -E
checking how to run the C++ preprocessor... /usr/bin/g++ -E
configure: Using gcc linker version 2.34 [GNU ld (GNU Binutils for Ubuntu) 2.34]
configure: comparing linker version to minimum version 2.25
checking for ar... /usr/bin/ar
checking for strip... /usr/bin/strip
checking for nm... /usr/bin/nm
checking for gobjcopy... [not found]
checking for objcopy... /usr/bin/objcopy
checking for gobjdump... [not found]
checking for objdump... /usr/bin/objdump
checking for c++filt... /usr/bin/c++filt
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking if @file is supported by gcc... yes
checking if CC supports "-m64"... yes
checking if CXX supports "-m64"... yes
checking if both CC and CXX support "-m64"... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking size of int *... 8
checking for target address size... 64 bits
checking whether byte ordering is bigendian... no
checking what source date to use... determined at build time, from 'updated'
checking for --enable-reproducible-build... disabled, default
checking for --enable-warnings-as-errors... enabled, default
checking if CC supports "-Xassembler -mrelax-relocations=no"... yes
checking if CXX supports "-Xassembler -mrelax-relocations=no"... yes
checking if both CC and CXX support "-Xassembler -mrelax-relocations=no"... yes
checking if TARGET is x86... no
checking if CC supports "-fno-delete-null-pointer-checks"... yes
checking if CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both CC and CXX support "-fno-delete-null-pointer-checks"... yes
checking if CC supports "-fno-lifetime-dse"... yes
checking if CXX supports "-fno-lifetime-dse"... yes
checking if both CC and CXX support "-fno-lifetime-dse"... yes
checking if CC supports "-ffp-contract=off"... yes
checking if CXX supports "-ffp-contract=off"... yes
checking if both CC and CXX support "-ffp-contract=off"... yes
checking if BUILD is x86... no
checking if BUILD_CC supports "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CC supports "-fno-lifetime-dse"... yes
checking if BUILD_CXX supports "-fno-lifetime-dse"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-lifetime-dse"... yes
checking if BUILD_CC supports "-ffp-contract=off"... yes
checking if BUILD_CXX supports "-ffp-contract=off"... yes
checking if both BUILD_CC and BUILD_CXX support "-ffp-contract=off"... yes
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... yes
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking if static link of stdc++ is possible... yes
checking how to link with libstdc++... static
checking for X... no
configure: error: Could not find X11 libraries. You might be able to fix this by running 'sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev'.
configure exiting with result code 1
安装x11等开发库
$ sudo apt install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libice-dev libpthread-stubs0-dev libsm-dev libxau-dev libxcb1-dev libxdmcp-dev libxfixes-dev libxi-dev x11proto-core-dev x11proto-dev
x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
libice-doc libsm-doc libx11-doc libxcb-doc libxext-doc libxt-doc
The following NEW packages will be installed:
libice-dev libpthread-stubs0-dev libsm-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxrandr-dev
libxrender-dev libxt-dev libxtst-dev x11proto-core-dev x11proto-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev
x11proto-xext-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 22 newly installed, 0 to remove and 41 not upgraded.
Need to get 2,263 kB of archives.
After this operation, 8,739 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 xorg-sgml-doctools all 1:1.11-1 [12.9 kB]
Get:2 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-dev all 2019.2-1ubuntu1 [594 kB]
Get:3 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-core-dev all 2019.2-1ubuntu1 [2,620 B]
Get:4 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libice-dev amd64 2:1.0.10-0ubuntu1 [47.8 kB]
Get:5 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libpthread-stubs0-dev amd64 0.4-1 [5,384 B]
Get:6 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libsm-dev amd64 2:1.2.3-1 [17.0 kB]
Get:7 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxau-dev amd64 1:1.0.9-0ubuntu1 [9,552 B]
Get:8 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxdmcp-dev amd64 1:1.1.3-0ubuntu1 [25.3 kB]
Get:9 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 xtrans-dev all 1.4.0-1 [68.9 kB]
Get:10 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxcb1-dev amd64 1.14-2 [80.5 kB]
Get:10 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxcb1-dev amd64 1.14-2 [80.5 kB]
Get:11 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libx11-dev amd64 2:1.6.9-2ubuntu1.2 [647 kB]
Get:12 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-xext-dev all 2019.2-1ubuntu1 [2,616 B]
Get:13 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxext-dev amd64 2:1.3.4-0ubuntu1 [82.2 kB]
Get:14 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxfixes-dev amd64 1:5.0.3-2 [11.4 kB]
Get:15 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-input-dev all 2019.2-1ubuntu1 [2,628 B]
Get:16 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxi-dev amd64 2:1.7.10-0ubuntu1 [187 kB]
Get:17 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-randr-dev all 2019.2-1ubuntu1 [2,620 B]
Get:18 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxrender-dev amd64 1:0.9.10-1 [24.9 kB]
Get:19 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxrandr-dev amd64 2:1.5.2-0ubuntu1 [25.0 kB]
Get:20 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxt-dev amd64 1:1.1.5-1 [395 kB]
Get:21 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-record-dev all 2019.2-1ubuntu1 [2,624 B]
Get:22 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libxtst-dev amd64 2:1.2.3-1 [15.2 kB]
Fetched 2,233 kB in 55s (40.7 kB/s)
Selecting previously unselected package xorg-sgml-doctools.
(Reading database ... 175070 files and directories currently installed.)
Preparing to unpack .../00-xorg-sgml-doctools_1%3a1.11-1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1) ...
Selecting previously unselected package x11proto-dev.
Preparing to unpack .../01-x11proto-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package x11proto-core-dev.
Preparing to unpack .../02-x11proto-core-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-core-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libice-dev:amd64.
Preparing to unpack .../03-libice-dev_2%3a1.0.10-0ubuntu1_amd64.deb ...
Unpacking libice-dev:amd64 (2:1.0.10-0ubuntu1) ...
Selecting previously unselected package libpthread-stubs0-dev:amd64.
Preparing to unpack .../04-libpthread-stubs0-dev_0.4-1_amd64.deb ...
Unpacking libpthread-stubs0-dev:amd64 (0.4-1) ...
Selecting previously unselected package libsm-dev:amd64.
Preparing to unpack .../05-libsm-dev_2%3a1.2.3-1_amd64.deb ...
Unpacking libsm-dev:amd64 (2:1.2.3-1) ...
Selecting previously unselected package libxau-dev:amd64.
Preparing to unpack .../06-libxau-dev_1%3a1.0.9-0ubuntu1_amd64.deb ...
Unpacking libxau-dev:amd64 (1:1.0.9-0ubuntu1) ...
Selecting previously unselected package libxdmcp-dev:amd64.
Preparing to unpack .../07-libxdmcp-dev_1%3a1.1.3-0ubuntu1_amd64.deb ...
Unpacking libxdmcp-dev:amd64 (1:1.1.3-0ubuntu1) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../08-xtrans-dev_1.4.0-1_all.deb ...
Unpacking xtrans-dev (1.4.0-1) ...
Selecting previously unselected package libxcb1-dev:amd64.
Preparing to unpack .../09-libxcb1-dev_1.14-2_amd64.deb ...
Unpacking libxcb1-dev:amd64 (1.14-2) ...
Selecting previously unselected package libx11-dev:amd64.
Preparing to unpack .../10-libx11-dev_2%3a1.6.9-2ubuntu1.2_amd64.deb ...
Unpacking libx11-dev:amd64 (2:1.6.9-2ubuntu1.2) ...
Selecting previously unselected package x11proto-xext-dev.
Preparing to unpack .../11-x11proto-xext-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-xext-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libxext-dev:amd64.
Preparing to unpack .../12-libxext-dev_2%3a1.3.4-0ubuntu1_amd64.deb ...
Unpacking libxext-dev:amd64 (2:1.3.4-0ubuntu1) ...
Selecting previously unselected package libxfixes-dev:amd64.
Preparing to unpack .../13-libxfixes-dev_1%3a5.0.3-2_amd64.deb ...
Unpacking libxfixes-dev:amd64 (1:5.0.3-2) ...
Selecting previously unselected package x11proto-input-dev.
Preparing to unpack .../14-x11proto-input-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-input-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libxi-dev:amd64.
Preparing to unpack .../15-libxi-dev_2%3a1.7.10-0ubuntu1_amd64.deb ...
Unpacking libxi-dev:amd64 (2:1.7.10-0ubuntu1) ...
Selecting previously unselected package x11proto-randr-dev.
Preparing to unpack .../16-x11proto-randr-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-randr-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libxrender-dev:amd64.
Preparing to unpack .../17-libxrender-dev_1%3a0.9.10-1_amd64.deb ...
Unpacking libxrender-dev:amd64 (1:0.9.10-1) ...
Selecting previously unselected package libxrandr-dev:amd64.
Preparing to unpack .../18-libxrandr-dev_2%3a1.5.2-0ubuntu1_amd64.deb ...
Unpacking libxrandr-dev:amd64 (2:1.5.2-0ubuntu1) ...
Selecting previously unselected package libxt-dev:amd64.
Preparing to unpack .../19-libxt-dev_1%3a1.1.5-1_amd64.deb ...
Unpacking libxt-dev:amd64 (1:1.1.5-1) ...
Selecting previously unselected package x11proto-record-dev.
Preparing to unpack .../20-x11proto-record-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-record-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libxtst-dev:amd64.
Preparing to unpack .../21-libxtst-dev_2%3a1.2.3-1_amd64.deb ...
Unpacking libxtst-dev:amd64 (2:1.2.3-1) ...
Setting up libpthread-stubs0-dev:amd64 (0.4-1) ...
Setting up xtrans-dev (1.4.0-1) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for sgml-base (1.29.1) ...
Setting up x11proto-dev (2019.2-1ubuntu1) ...
Setting up libxau-dev:amd64 (1:1.0.9-0ubuntu1) ...
Setting up libice-dev:amd64 (2:1.0.10-0ubuntu1) ...
Setting up libsm-dev:amd64 (2:1.2.3-1) ...
Setting up x11proto-randr-dev (2019.2-1ubuntu1) ...
Setting up libxdmcp-dev:amd64 (1:1.1.3-0ubuntu1) ...
Setting up x11proto-core-dev (2019.2-1ubuntu1) ...
Setting up x11proto-input-dev (2019.2-1ubuntu1) ...
Setting up x11proto-xext-dev (2019.2-1ubuntu1) ...
Setting up x11proto-record-dev (2019.2-1ubuntu1) ...
Setting up libxcb1-dev:amd64 (1.14-2) ...
Setting up libx11-dev:amd64 (2:1.6.9-2ubuntu1.2) ...
Setting up libxfixes-dev:amd64 (1:5.0.3-2) ...
Setting up libxt-dev:amd64 (1:1.1.5-1) ...
Setting up libxext-dev:amd64 (2:1.3.4-0ubuntu1) ...
Setting up libxi-dev:amd64 (2:1.7.10-0ubuntu1) ...
Setting up libxrender-dev:amd64 (1:0.9.10-1) ...
Setting up libxtst-dev:amd64 (2:1.2.3-1) ...
Setting up libxrandr-dev:amd64 (2:1.5.2-0ubuntu1) ...
$ bash configure --enable-debug --with-boot-jdk=/opt/jdk-17.0.2
configure: Configuration created at Mon Jan 24 22:50:19 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /opt/jdk-17.0.2
checking Boot JDK version... openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... false
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC... /usr/bin/x86_64-linux-gnu-gcc-9
configure: Using gcc C compiler version 9.3.0 [gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for g++... /usr/bin/g++
checking resolved symbolic links for CXX... /usr/bin/x86_64-linux-gnu-g++-9
configure: Using gcc C++ compiler version 9.3.0 [g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking how to run the C preprocessor... /usr/bin/gcc -E
checking how to run the C++ preprocessor... /usr/bin/g++ -E
configure: Using gcc linker version 2.34 [GNU ld (GNU Binutils for Ubuntu) 2.34]
configure: comparing linker version to minimum version 2.25
checking for ar... /usr/bin/ar
checking for strip... /usr/bin/strip
checking for nm... /usr/bin/nm
checking for gobjcopy... [not found]
checking for objcopy... /usr/bin/objcopy
checking for gobjdump... [not found]
checking for objdump... /usr/bin/objdump
checking for c++filt... /usr/bin/c++filt
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking if @file is supported by gcc... yes
checking if CC supports "-m64"... yes
checking if CXX supports "-m64"... yes
checking if both CC and CXX support "-m64"... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking size of int *... 8
checking for target address size... 64 bits
checking whether byte ordering is bigendian... no
checking what source date to use... determined at build time, from 'updated'
checking for --enable-reproducible-build... disabled, default
checking for --enable-warnings-as-errors... enabled, default
checking if CC supports "-Xassembler -mrelax-relocations=no"... yes
checking if CXX supports "-Xassembler -mrelax-relocations=no"... yes
checking if both CC and CXX support "-Xassembler -mrelax-relocations=no"... yes
checking if TARGET is x86... no
checking if CC supports "-fno-delete-null-pointer-checks"... yes
checking if CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both CC and CXX support "-fno-delete-null-pointer-checks"... yes
checking if CC supports "-fno-lifetime-dse"... yes
checking if CXX supports "-fno-lifetime-dse"... yes
checking if both CC and CXX support "-fno-lifetime-dse"... yes
checking if CC supports "-ffp-contract=off"... yes
checking if CXX supports "-ffp-contract=off"... yes
checking if both CC and CXX support "-ffp-contract=off"... yes
checking if BUILD is x86... no
checking if BUILD_CC supports "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CC supports "-fno-lifetime-dse"... yes
checking if BUILD_CXX supports "-fno-lifetime-dse"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-lifetime-dse"... yes
checking if BUILD_CC supports "-ffp-contract=off"... yes
checking if BUILD_CXX supports "-ffp-contract=off"... yes
checking if both BUILD_CC and BUILD_CXX support "-ffp-contract=off"... yes
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... yes
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking if static link of stdc++ is possible... yes
checking how to link with libstdc++... static
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for X11/extensions/shape.h... yes
checking for X11/extensions/Xrender.h... yes
checking for X11/extensions/XTest.h... yes
checking for X11/Intrinsic.h... yes
checking for X11/extensions/Xrandr.h... yes
checking cups/cups.h usability... no
checking cups/cups.h presence... no
checking for cups/cups.h... no
checking cups/ppd.h usability... no
checking cups/ppd.h presence... no
checking for cups/ppd.h... no
configure: error: Could not find cups! You might be able to fix this by running 'sudo apt-get install libcups2-dev'.
configure exiting with result code 1
安装libcpus2-dev等开发库
$ sudo apt install libcups2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libcupsfilters-dev libcupsimage2-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libpng-dev libpng-tools libtiff-dev
libtiffxx5 zlib1g-dev
Suggested packages:
liblzma-doc
The following NEW packages will be installed:
libcups2-dev libcupsfilters-dev libcupsimage2-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libpng-dev libpng-tools
libtiff-dev libtiffxx5 zlib1g-dev
0 upgraded, 13 newly installed, 0 to remove and 41 not upgraded.
Need to get 1,452 kB of archives.
After this operation, 6,359 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-2ubuntu1.2 [155 kB]
Get:2 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libpng-dev amd64 1.6.37-2 [175 kB]
Err:2 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libpng-dev amd64 1.6.37-2
Connection failed [IP: 91.189.91.39 80]
Get:3 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libjbig-dev amd64 2.1-3.1build1 [25.2 kB]
Get:4 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libjpeg-turbo8-dev amd64 2.0.3-0ubuntu1.20.04.1 [238 kB]
Get:5 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libjpeg8-dev amd64 8c-2ubuntu8 [1,552 B]
Get:6 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libjpeg-dev amd64 8c-2ubuntu8 [1,546 B]
Get:7 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 liblzma-dev amd64 5.2.4-1ubuntu1 [147 kB]
Get:8 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libtiffxx5 amd64 4.1.0+git191117-2ubuntu0.20.04.2 [5,952 B]
Get:9 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libtiff-dev amd64 4.1.0+git191117-2ubuntu0.20.04.2 [285 kB]
Get:10 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcupsimage2-dev amd64 2.3.1-9ubuntu1.1 [6,784 B]
Get:11 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcups2-dev amd64 2.3.1-9ubuntu1.1 [281 kB]
Get:11 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcups2-dev amd64 2.3.1-9ubuntu1.1 [281 kB]
Get:12 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libcupsfilters-dev amd64 1.27.4-1 [104 kB]
Get:13 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libpng-tools amd64 1.6.37-2 [26.1 kB]
Fetched 1,154 kB in 4min 18s (4,471 B/s)
E: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/libp/libpng1.6/libpng-dev_1.6.37-2_amd64.deb Connection failed [IP: 91.189.91.39 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
tree@tree:~/code/open-jdk$ sudo apt install libcups2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libcupsfilters-dev libcupsimage2-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libpng-dev libpng-tools libtiff-dev
libtiffxx5 zlib1g-dev
Suggested packages:
liblzma-doc
The following NEW packages will be installed:
libcups2-dev libcupsfilters-dev libcupsimage2-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libpng-dev libpng-tools
libtiff-dev libtiffxx5 zlib1g-dev
0 upgraded, 13 newly installed, 0 to remove and 41 not upgraded.
Need to get 175 kB/1,452 kB of archives.
After this operation, 6,359 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libpng-dev amd64 1.6.37-2 [175 kB]
Fetched 5,711 B in 3s (1,858 B/s)
Selecting previously unselected package zlib1g-dev:amd64.
(Reading database ... 175931 files and directories currently installed.)
Preparing to unpack .../00-zlib1g-dev_1%3a1.2.11.dfsg-2ubuntu1.2_amd64.deb ...
Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu1.2) ...
Selecting previously unselected package libpng-dev:amd64.
Preparing to unpack .../01-libpng-dev_1.6.37-2_amd64.deb ...
Unpacking libpng-dev:amd64 (1.6.37-2) ...
Selecting previously unselected package libjbig-dev:amd64.
Preparing to unpack .../02-libjbig-dev_2.1-3.1build1_amd64.deb ...
Unpacking libjbig-dev:amd64 (2.1-3.1build1) ...
Selecting previously unselected package libjpeg-turbo8-dev:amd64.
Preparing to unpack .../03-libjpeg-turbo8-dev_2.0.3-0ubuntu1.20.04.1_amd64.deb ...
Unpacking libjpeg-turbo8-dev:amd64 (2.0.3-0ubuntu1.20.04.1) ...
Selecting previously unselected package libjpeg8-dev:amd64.
Preparing to unpack .../04-libjpeg8-dev_8c-2ubuntu8_amd64.deb ...
Unpacking libjpeg8-dev:amd64 (8c-2ubuntu8) ...
Selecting previously unselected package libjpeg-dev:amd64.
Preparing to unpack .../05-libjpeg-dev_8c-2ubuntu8_amd64.deb ...
Unpacking libjpeg-dev:amd64 (8c-2ubuntu8) ...
Selecting previously unselected package liblzma-dev:amd64.
Preparing to unpack .../06-liblzma-dev_5.2.4-1ubuntu1_amd64.deb ...
Unpacking liblzma-dev:amd64 (5.2.4-1ubuntu1) ...
Selecting previously unselected package libtiffxx5:amd64.
Preparing to unpack .../07-libtiffxx5_4.1.0+git191117-2ubuntu0.20.04.2_amd64.deb ...
Unpacking libtiffxx5:amd64 (4.1.0+git191117-2ubuntu0.20.04.2) ...
Selecting previously unselected package libtiff-dev:amd64.
Preparing to unpack .../08-libtiff-dev_4.1.0+git191117-2ubuntu0.20.04.2_amd64.deb ...
Unpacking libtiff-dev:amd64 (4.1.0+git191117-2ubuntu0.20.04.2) ...
Selecting previously unselected package libcupsimage2-dev:amd64.
Preparing to unpack .../09-libcupsimage2-dev_2.3.1-9ubuntu1.1_amd64.deb ...
Unpacking libcupsimage2-dev:amd64 (2.3.1-9ubuntu1.1) ...
Selecting previously unselected package libcups2-dev:amd64.
Preparing to unpack .../10-libcups2-dev_2.3.1-9ubuntu1.1_amd64.deb ...
Unpacking libcups2-dev:amd64 (2.3.1-9ubuntu1.1) ...
Selecting previously unselected package libcupsfilters-dev:amd64.
Preparing to unpack .../11-libcupsfilters-dev_1.27.4-1_amd64.deb ...
Unpacking libcupsfilters-dev:amd64 (1.27.4-1) ...
Selecting previously unselected package libpng-tools.
Preparing to unpack .../12-libpng-tools_1.6.37-2_amd64.deb ...
Unpacking libpng-tools (1.6.37-2) ...
Setting up libjpeg-turbo8-dev:amd64 (2.0.3-0ubuntu1.20.04.1) ...
Setting up libpng-tools (1.6.37-2) ...
Setting up libjbig-dev:amd64 (2.1-3.1build1) ...
Setting up libcupsfilters-dev:amd64 (1.27.4-1) ...
Setting up liblzma-dev:amd64 (5.2.4-1ubuntu1) ...
Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu1.2) ...
Setting up libjpeg8-dev:amd64 (8c-2ubuntu8) ...
Setting up libtiffxx5:amd64 (4.1.0+git191117-2ubuntu0.20.04.2) ...
Setting up libpng-dev:amd64 (1.6.37-2) ...
Setting up libjpeg-dev:amd64 (8c-2ubuntu8) ...
Setting up libtiff-dev:amd64 (4.1.0+git191117-2ubuntu0.20.04.2) ...
Setting up libcupsimage2-dev:amd64 (2.3.1-9ubuntu1.1) ...
Setting up libcups2-dev:amd64 (2.3.1-9ubuntu1.1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for man-db (2.9.1-1) ...
$ bash configure --enable-debug --with-boot-jdk=/opt/jdk-17.0.2
configure: Configuration created at Mon Jan 24 22:57:05 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /opt/jdk-17.0.2
checking Boot JDK version... openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... false
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC... /usr/bin/x86_64-linux-gnu-gcc-9
configure: Using gcc C compiler version 9.3.0 [gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for g++... /usr/bin/g++
checking resolved symbolic links for CXX... /usr/bin/x86_64-linux-gnu-g++-9
configure: Using gcc C++ compiler version 9.3.0 [g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking how to run the C preprocessor... /usr/bin/gcc -E
checking how to run the C++ preprocessor... /usr/bin/g++ -E
configure: Using gcc linker version 2.34 [GNU ld (GNU Binutils for Ubuntu) 2.34]
configure: comparing linker version to minimum version 2.25
checking for ar... /usr/bin/ar
checking for strip... /usr/bin/strip
checking for nm... /usr/bin/nm
checking for gobjcopy... [not found]
checking for objcopy... /usr/bin/objcopy
checking for gobjdump... [not found]
checking for objdump... /usr/bin/objdump
checking for c++filt... /usr/bin/c++filt
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking if @file is supported by gcc... yes
checking if CC supports "-m64"... yes
checking if CXX supports "-m64"... yes
checking if both CC and CXX support "-m64"... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking size of int *... 8
checking for target address size... 64 bits
checking whether byte ordering is bigendian... no
checking what source date to use... determined at build time, from 'updated'
checking for --enable-reproducible-build... disabled, default
checking for --enable-warnings-as-errors... enabled, default
checking if CC supports "-Xassembler -mrelax-relocations=no"... yes
checking if CXX supports "-Xassembler -mrelax-relocations=no"... yes
checking if both CC and CXX support "-Xassembler -mrelax-relocations=no"... yes
checking if TARGET is x86... no
checking if CC supports "-fno-delete-null-pointer-checks"... yes
checking if CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both CC and CXX support "-fno-delete-null-pointer-checks"... yes
checking if CC supports "-fno-lifetime-dse"... yes
checking if CXX supports "-fno-lifetime-dse"... yes
checking if both CC and CXX support "-fno-lifetime-dse"... yes
checking if CC supports "-ffp-contract=off"... yes
checking if CXX supports "-ffp-contract=off"... yes
checking if both CC and CXX support "-ffp-contract=off"... yes
checking if BUILD is x86... no
checking if BUILD_CC supports "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CC supports "-fno-lifetime-dse"... yes
checking if BUILD_CXX supports "-fno-lifetime-dse"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-lifetime-dse"... yes
checking if BUILD_CC supports "-ffp-contract=off"... yes
checking if BUILD_CXX supports "-ffp-contract=off"... yes
checking if both BUILD_CC and BUILD_CXX support "-ffp-contract=off"... yes
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... yes
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking if static link of stdc++ is possible... yes
checking how to link with libstdc++... static
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for X11/extensions/shape.h... yes
checking for X11/extensions/Xrender.h... yes
checking for X11/extensions/XTest.h... yes
checking for X11/Intrinsic.h... yes
checking for X11/extensions/Xrandr.h... yes
checking cups/cups.h usability... yes
checking cups/cups.h presence... yes
checking for cups/cups.h... yes
checking cups/ppd.h usability... yes
checking cups/ppd.h presence... yes
checking for cups/ppd.h... yes
checking fontconfig/fontconfig.h usability... no
checking fontconfig/fontconfig.h presence... no
checking for fontconfig/fontconfig.h... no
configure: error: Could not find fontconfig! You might be able to fix this by running 'sudo apt-get install libfontconfig1-dev'.
configure exiting with result code 1
安装libfontconfig1-dev等开发库
$ sudo apt install libfontconfig1-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libexpat1-dev libfreetype-dev libfreetype6-dev uuid-dev
Suggested packages:
freetype2-doc
The following NEW packages will be installed:
libexpat1-dev libfontconfig1-dev libfreetype-dev libfreetype6-dev uuid-dev
0 upgraded, 5 newly installed, 0 to remove and 41 not upgraded.
Need to get 1,383 kB of archives.
After this operation, 5,092 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libexpat1-dev amd64 2.2.9-1build1 [116 kB]
Get:1 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libexpat1-dev amd64 2.2.9-1build1 [116 kB]
Get:2 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libfreetype-dev amd64 2.10.1-2ubuntu0.1 [493 kB]
Get:3 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libfreetype6-dev amd64 2.10.1-2ubuntu0.1 [9,812 B]
Get:4 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 uuid-dev amd64 2.34-0.1ubuntu9.1 [33.6 kB]
Get:5 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libfontconfig1-dev amd64 2.13.1-2ubuntu3 [731 kB]
Fetched 1,282 kB in 1min 45s (12.2 kB/s)
Selecting previously unselected package libexpat1-dev:amd64.
(Reading database ... 176169 files and directories currently installed.)
Preparing to unpack .../libexpat1-dev_2.2.9-1build1_amd64.deb ...
Unpacking libexpat1-dev:amd64 (2.2.9-1build1) ...
Selecting previously unselected package libfreetype-dev:amd64.
Preparing to unpack .../libfreetype-dev_2.10.1-2ubuntu0.1_amd64.deb ...
Unpacking libfreetype-dev:amd64 (2.10.1-2ubuntu0.1) ...
Selecting previously unselected package libfreetype6-dev:amd64.
Preparing to unpack .../libfreetype6-dev_2.10.1-2ubuntu0.1_amd64.deb ...
Unpacking libfreetype6-dev:amd64 (2.10.1-2ubuntu0.1) ...
Selecting previously unselected package uuid-dev:amd64.
Preparing to unpack .../uuid-dev_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking uuid-dev:amd64 (2.34-0.1ubuntu9.1) ...
Selecting previously unselected package libfontconfig1-dev:amd64.
Preparing to unpack .../libfontconfig1-dev_2.13.1-2ubuntu3_amd64.deb ...
Unpacking libfontconfig1-dev:amd64 (2.13.1-2ubuntu3) ...
Setting up libfreetype-dev:amd64 (2.10.1-2ubuntu0.1) ...
Setting up libexpat1-dev:amd64 (2.2.9-1build1) ...
Setting up uuid-dev:amd64 (2.34-0.1ubuntu9.1) ...
Setting up libfreetype6-dev:amd64 (2.10.1-2ubuntu0.1) ...
Setting up libfontconfig1-dev:amd64 (2.13.1-2ubuntu3) ...
Processing triggers for man-db (2.9.1-1) ...
$ bash configure --enable-debug --with-boot-jdk=/opt/jdk-17.0.2
configure: Configuration created at Mon Jan 24 23:01:14 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /opt/jdk-17.0.2
checking Boot JDK version... openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... false
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC... /usr/bin/x86_64-linux-gnu-gcc-9
configure: Using gcc C compiler version 9.3.0 [gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for g++... /usr/bin/g++
checking resolved symbolic links for CXX... /usr/bin/x86_64-linux-gnu-g++-9
configure: Using gcc C++ compiler version 9.3.0 [g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking how to run the C preprocessor... /usr/bin/gcc -E
checking how to run the C++ preprocessor... /usr/bin/g++ -E
configure: Using gcc linker version 2.34 [GNU ld (GNU Binutils for Ubuntu) 2.34]
configure: comparing linker version to minimum version 2.25
checking for ar... /usr/bin/ar
checking for strip... /usr/bin/strip
checking for nm... /usr/bin/nm
checking for gobjcopy... [not found]
checking for objcopy... /usr/bin/objcopy
checking for gobjdump... [not found]
checking for objdump... /usr/bin/objdump
checking for c++filt... /usr/bin/c++filt
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking if @file is supported by gcc... yes
checking if CC supports "-m64"... yes
checking if CXX supports "-m64"... yes
checking if both CC and CXX support "-m64"... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking size of int *... 8
checking for target address size... 64 bits
checking whether byte ordering is bigendian... no
checking what source date to use... determined at build time, from 'updated'
checking for --enable-reproducible-build... disabled, default
checking for --enable-warnings-as-errors... enabled, default
checking if CC supports "-Xassembler -mrelax-relocations=no"... yes
checking if CXX supports "-Xassembler -mrelax-relocations=no"... yes
checking if both CC and CXX support "-Xassembler -mrelax-relocations=no"... yes
checking if TARGET is x86... no
checking if CC supports "-fno-delete-null-pointer-checks"... yes
checking if CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both CC and CXX support "-fno-delete-null-pointer-checks"... yes
checking if CC supports "-fno-lifetime-dse"... yes
checking if CXX supports "-fno-lifetime-dse"... yes
checking if both CC and CXX support "-fno-lifetime-dse"... yes
checking if CC supports "-ffp-contract=off"... yes
checking if CXX supports "-ffp-contract=off"... yes
checking if both CC and CXX support "-ffp-contract=off"... yes
checking if BUILD is x86... no
checking if BUILD_CC supports "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CC supports "-fno-lifetime-dse"... yes
checking if BUILD_CXX supports "-fno-lifetime-dse"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-lifetime-dse"... yes
checking if BUILD_CC supports "-ffp-contract=off"... yes
checking if BUILD_CXX supports "-ffp-contract=off"... yes
checking if both BUILD_CC and BUILD_CXX support "-ffp-contract=off"... yes
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... yes
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking if static link of stdc++ is possible... yes
checking how to link with libstdc++... static
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for X11/extensions/shape.h... yes
checking for X11/extensions/Xrender.h... yes
checking for X11/extensions/XTest.h... yes
checking for X11/Intrinsic.h... yes
checking for X11/extensions/Xrandr.h... yes
checking cups/cups.h usability... yes
checking cups/cups.h presence... yes
checking for cups/cups.h... yes
checking cups/ppd.h usability... yes
checking cups/ppd.h presence... yes
checking for cups/ppd.h... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking for FREETYPE... yes
checking for freetype... yes (using pkg-config)
Using freetype: system
checking for ALSA... no
checking alsa/asoundlib.h usability... no
checking alsa/asoundlib.h presence... no
configure: error: Could not find alsa! You might be able to fix this by running 'sudo apt-get install libasound2-dev'.
checking for alsa/asoundlib.h... no
configure exiting with result code 1
安装libasound2-dev等开发库
$ sudo apt install libasound2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
libasound2-doc
The following NEW packages will be installed:
libasound2-dev
0 upgraded, 1 newly installed, 0 to remove and 41 not upgraded.
Need to get 104 kB of archives.
After this operation, 678 kB of additional disk space will be used.
Get:1 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libasound2-dev amd64 1.2.2-2.1ubuntu2.5 [104 kB]
Fetched 104 kB in 12s (8,309 B/s)
Selecting previously unselected package libasound2-dev:amd64.
(Reading database ... 176725 files and directories currently installed.)
Preparing to unpack .../libasound2-dev_1.2.2-2.1ubuntu2.5_amd64.deb ...
Unpacking libasound2-dev:amd64 (1.2.2-2.1ubuntu2.5) ...
Setting up libasound2-dev:amd64 (1.2.2-2.1ubuntu2.5) ...
$ bash configure --enable-debug --with-boot-jdk=/opt/jdk-17.0.2
configure: Configuration created at Mon Jan 24 23:03:06 CST 2022.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for echo... echo [builtin]
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... [not found]
checking for nawk... /usr/bin/nawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for xargs... /usr/bin/xargs
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for a sed that does not truncate output... /usr/bin/sed
checking for df... /usr/bin/df
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for lsb_release... /usr/bin/lsb_release
checking for cmd.exe... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking openjdk-build os-cpu... linux-x86_64
checking openjdk-build C library... gnu
checking openjdk-target os-cpu... linux-x86_64
checking openjdk-target C library... gnu
checking compilation type... native
checking for top-level directory... /home/tree/code/open-jdk
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... enabled, from command line
checking which debug level to use... fastdebug
checking which variants of the JVM to build... server
checking if absolute paths should be allowed in the build output... yes, debug build
checking for sysroot...
checking for toolchain path...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... linux-x86_64-server-fastdebug
checking for zypper... [not found]
checking for apt-get... /usr/bin/apt-get
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.2.1)
checking if make --output-sync is supported... yes
checking for output-sync value... none
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... /usr/bin/readelf
checking for dot... [not found]
checking for hg... /usr/bin/hg
checking for git... /usr/bin/git
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is the GNU version... yes
checking for ulimit... ulimit [builtin]
checking bash version... 5.0.17
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value...
checking if packaged modules are kept... enabled, default
checking for version string... 19-internal+0-adhoc.tree.open-jdk
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /opt/jdk-17.0.2
checking Boot JDK version... openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... false
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC... /usr/bin/x86_64-linux-gnu-gcc-9
configure: Using gcc C compiler version 9.3.0 [gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for g++... /usr/bin/g++
checking resolved symbolic links for CXX... /usr/bin/x86_64-linux-gnu-g++-9
configure: Using gcc C++ compiler version 9.3.0 [g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0]
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking how to run the C preprocessor... /usr/bin/gcc -E
checking how to run the C++ preprocessor... /usr/bin/g++ -E
configure: Using gcc linker version 2.34 [GNU ld (GNU Binutils for Ubuntu) 2.34]
configure: comparing linker version to minimum version 2.25
checking for ar... /usr/bin/ar
checking for strip... /usr/bin/strip
checking for nm... /usr/bin/nm
checking for gobjcopy... [not found]
checking for objcopy... /usr/bin/objcopy
checking for gobjdump... [not found]
checking for objdump... /usr/bin/objdump
checking for c++filt... /usr/bin/c++filt
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking if @file is supported by gcc... yes
checking if CC supports "-m64"... yes
checking if CXX supports "-m64"... yes
checking if both CC and CXX support "-m64"... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking size of int *... 8
checking for target address size... 64 bits
checking whether byte ordering is bigendian... no
checking what source date to use... determined at build time, from 'updated'
checking for --enable-reproducible-build... disabled, default
checking for --enable-warnings-as-errors... enabled, default
checking if CC supports "-Xassembler -mrelax-relocations=no"... yes
checking if CXX supports "-Xassembler -mrelax-relocations=no"... yes
checking if both CC and CXX support "-Xassembler -mrelax-relocations=no"... yes
checking if TARGET is x86... no
checking if CC supports "-fno-delete-null-pointer-checks"... yes
checking if CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both CC and CXX support "-fno-delete-null-pointer-checks"... yes
checking if CC supports "-fno-lifetime-dse"... yes
checking if CXX supports "-fno-lifetime-dse"... yes
checking if both CC and CXX support "-fno-lifetime-dse"... yes
checking if CC supports "-ffp-contract=off"... yes
checking if CXX supports "-ffp-contract=off"... yes
checking if both CC and CXX support "-ffp-contract=off"... yes
checking if BUILD is x86... no
checking if BUILD_CC supports "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CXX supports "-fno-delete-null-pointer-checks"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-delete-null-pointer-checks"... yes
checking if BUILD_CC supports "-fno-lifetime-dse"... yes
checking if BUILD_CXX supports "-fno-lifetime-dse"... yes
checking if both BUILD_CC and BUILD_CXX support "-fno-lifetime-dse"... yes
checking if BUILD_CC supports "-ffp-contract=off"... yes
checking if BUILD_CXX supports "-ffp-contract=off"... yes
checking if both BUILD_CC and BUILD_CXX support "-ffp-contract=off"... yes
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... yes
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking if static link of stdc++ is possible... yes
checking how to link with libstdc++... static
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for X11/extensions/shape.h... yes
checking for X11/extensions/Xrender.h... yes
checking for X11/extensions/XTest.h... yes
checking for X11/Intrinsic.h... yes
checking for X11/extensions/Xrandr.h... yes
checking cups/cups.h usability... yes
checking cups/cups.h presence... yes
checking for cups/cups.h... yes
checking cups/ppd.h usability... yes
checking cups/ppd.h presence... yes
checking for cups/ppd.h... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking for FREETYPE... yes
checking for freetype... yes (using pkg-config)
Using freetype: system
checking for ALSA... yes
checking for --enable-libffi-bundling... disabled, default
checking for which libjpeg to use... bundled
checking for which giflib to use... bundled
checking for PNG... yes
checking for which libpng to use... bundled
checking for compress in -lz... yes
checking for which zlib to use... system
checking for system zlib functionality... ok
checking for which lcms to use... bundled
checking for which harfbuzz to use... bundled
checking for cos in -lm... yes
checking for dlopen in -ldl... yes
checking for JVM features enabled by the user... none
checking for JVM features disabled by the user... none
checking if platform is supported by CDS... yes
checking if JVM feature 'cds' is available... yes
checking for dtrace tool... no
checking sys/sdt.h usability... no
checking sys/sdt.h presence... no
checking for sys/sdt.h... no
configure: Cannot enable dtrace with missing dependencies. See above.
checking if JVM feature 'dtrace' is available... no
checking if platform is supported by JFR... yes
checking if JVM feature 'jfr' is available... yes
checking if platform is supported by JVMCI... yes
checking if JVM feature 'jvmci' is available... yes
checking if platform is supported by Shenandoah... yes
checking if JVM feature 'shenandoahgc' is available... yes
checking if static-build is enabled in configure... no, use --enable-static-build to enable static build.
checking if JVM feature 'static-build' is available... no
checking if platform is supported by ZGC... yes
checking if JVM feature 'zgc' is available... yes
checking JVM features to use for variant 'server'... 'cds compiler1 compiler2 epsilongc g1gc jfr jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc vm-structs zgc'
checking if the jtreg failure handler is available... no (jtreg not present)
checking if the jtreg failure handler should be built... disabled, from default 'auto'
checking if the CDS classlist generation should be enabled... enabled, 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... yes
checking if a default CDS archive should be generated... enabled, from default 'auto'
checking if CDS archive is available... yes
checking if compatible cds region alignment enabled... disabled, default
checking what hsdis backend to use... 'none', hsdis will not be built
checking for number of cores... 2
checking for memory size... 1948 MB
checking for appropriate number of jobs to run in parallel... 1
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=/home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/configure-support/classes.jsa -Xshare:auto
checking flags for boot jdk java command for big workloads... -Xms64M -Xmx974M
checking flags for bootcycle boot jdk java command for big workloads... -Xms64M -Xmx974M
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 /home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/configure-support/config.status
config.status: creating /home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/spec.gmk
config.status: creating /home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/bootcycle-spec.gmk
config.status: creating /home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/buildjdk-spec.gmk
config.status: creating /home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/compare.sh
config.status: creating /home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug/Makefile
====================================================
A new configuration has been successfully created in
/home/tree/code/open-jdk/build/linux-x86_64-server-fastdebug
using configure arguments '--enable-debug --with-boot-jdk=/opt/jdk-17.0.2'.
Configuration summary:
* Name: linux-x86_64-server-fastdebug
* Debug level: fastdebug
* HS debug level: fastdebug
* JVM variants: server
* JVM features: server: 'cds compiler1 compiler2 epsilongc g1gc jfr jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc vm-structs zgc'
* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
* Version string: 19-internal+0-adhoc.tree.open-jdk (19-internal)
Tools summary:
* Boot JDK: openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing) (at /opt/jdk-17.0.2)
* Toolchain: gcc (GNU Compiler Collection)
* C Compiler: Version 9.3.0 (at /usr/bin/gcc)
* C++ Compiler: Version 9.3.0 (at /usr/bin/g++)
Build performance summary:
* Build jobs: 1
* Memory limit: 1948 MB
2. 编译
$ make JOBS=4
等一会,编译完成
$ build/linux-x86_64-server-fastdebug/jdk/bin/java --version
openjdk 19-internal 2022-09-20
OpenJDK Runtime Environment (fastdebug build 19-internal+0-adhoc.trevor.jdk)
OpenJDK 64-Bit Server VM (fastdebug build 19-internal+0-adhoc.trevor.jdk, mixed mode)