Fedora31源碼編譯openjdk-jdk 14-23

openjdk github項目地址

https://github.com/unofficial-openjdk/openjdk

 

安裝編譯器、基礎庫

sudo yum install gcc autoconf libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel cups-devel alsa-lib-devel

安裝openjdk(構建jdk14必須要jdk13或14!)

[yeqiang@localhost openjdk-jdk-14-23]$ sudo dnf install java-latest-openjdk-devel
[sudo] password for yeqiang: 
Sorry, try again.
[sudo] password for yeqiang: 
Last metadata expiration check: 0:17:22 ago on Thu 28 Nov 2019 11:15:43 AM CST.
Dependencies resolved.
======================================================================================================================
 Package                                Architecture     Version                              Repository         Size
======================================================================================================================
Installing:
 java-latest-openjdk-devel              x86_64           1:13.0.1.9-2.rolling.fc31            updates           4.2 M
Installing dependencies:
 java-latest-openjdk                    x86_64           1:13.0.1.9-2.rolling.fc31            updates           249 k
 java-latest-openjdk-headless           x86_64           1:13.0.1.9-2.rolling.fc31            updates            40 M

Transaction Summary
======================================================================================================================
Install  3 Packages

Total download size: 44 M
Installed size: 200 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): java-latest-openjdk-13.0.1.9-2.rolling.fc31.x86_64.rpm                          19 kB/s | 249 kB     00:12    
(2/3): java-latest-openjdk-devel-13.0.1.9-2.rolling.fc31.x86_64.rpm                   198 kB/s | 4.2 MB     00:21    
(3/3): java-latest-openjdk-headless-13.0.1.9-2.rolling.fc31.x86_64.rpm                429 kB/s |  40 MB     01:35    
----------------------------------------------------------------------------------------------------------------------
Total                                                                                 460 kB/s |  44 MB     01:38     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Running scriptlet: java-latest-openjdk-headless-1:13.0.1.9-2.rolling.fc31.x86_64                                1/1 
  Preparing        :                                                                                              1/1 
  Installing       : java-latest-openjdk-headless-1:13.0.1.9-2.rolling.fc31.x86_64                                1/3 
  Running scriptlet: java-latest-openjdk-headless-1:13.0.1.9-2.rolling.fc31.x86_64                                1/3 
  Installing       : java-latest-openjdk-1:13.0.1.9-2.rolling.fc31.x86_64                                         2/3 
  Running scriptlet: java-latest-openjdk-1:13.0.1.9-2.rolling.fc31.x86_64                                         2/3 
  Installing       : java-latest-openjdk-devel-1:13.0.1.9-2.rolling.fc31.x86_64                                   3/3 
  Running scriptlet: java-latest-openjdk-devel-1:13.0.1.9-2.rolling.fc31.x86_64                                   3/3 
  Running scriptlet: java-latest-openjdk-1:13.0.1.9-2.rolling.fc31.x86_64                                         3/3 
  Running scriptlet: java-latest-openjdk-devel-1:13.0.1.9-2.rolling.fc31.x86_64                                   3/3 
  Verifying        : java-latest-openjdk-1:13.0.1.9-2.rolling.fc31.x86_64                                         1/3 
  Verifying        : java-latest-openjdk-devel-1:13.0.1.9-2.rolling.fc31.x86_64                                   2/3 
  Verifying        : java-latest-openjdk-headless-1:13.0.1.9-2.rolling.fc31.x86_64                                3/3 

Installed:
  java-latest-openjdk-devel-1:13.0.1.9-2.rolling.fc31.x86_64     java-latest-openjdk-1:13.0.1.9-2.rolling.fc31.x86_64 
  java-latest-openjdk-headless-1:13.0.1.9-2.rolling.fc31.x86_64 

Complete!

下載jdk14源碼

wget https://codeload.github.com/unofficial-openjdk/openjdk/tar.gz/jdk-14%2B23 -O openjdk-jdk8-b120.tar.gz

解壓

tar -xvf openjdk-jdk-14-23.tar.gz

cd openjdk-jdk-14-23/

[yeqiang@localhost openjdk-jdk-14-23]$ ll
total 60
-rw-rw-r--.  1 yeqiang yeqiang  2114 Nov 13 21:23 ADDITIONAL_LICENSE_INFO
-rw-rw-r--.  1 yeqiang yeqiang  1522 Nov 13 21:23 ASSEMBLY_EXCEPTION
drwxrwxr-x.  3 yeqiang yeqiang  4096 Nov 13 21:23 bin
-rw-rw-r--.  1 yeqiang yeqiang  1649 Nov 13 21:23 configure
drwxrwxr-x.  3 yeqiang yeqiang  4096 Nov 13 21:23 doc
-rw-rw-r--.  1 yeqiang yeqiang 19274 Nov 13 21:23 LICENSE
drwxrwxr-x. 24 yeqiang yeqiang  4096 Nov 13 21:23 make
-rw-rw-r--.  1 yeqiang yeqiang  2785 Nov 13 21:23 Makefile
-rw-rw-r--.  1 yeqiang yeqiang   341 Nov 13 21:23 README
drwxrwxr-x. 79 yeqiang yeqiang  4096 Nov 13 21:23 src
drwxrwxr-x. 14 yeqiang yeqiang  4096 Nov 13 21:23 test

設置configure可執行權限並開始編譯
 

[yeqiang@localhost openjdk-jdk-14-23]$ chmod +x configure 
[yeqiang@localhost openjdk-jdk-14-23]$ ./configure --with-extra-cflags=-Wno-stringop-truncation

開始編譯

[yeqiang@localhost openjdk-jdk-14-23]$ make JOBS=6
Building target 'default (exploded-image)' in configuration 'linux-x86_64-server-release'
Compiling 8 files for BUILD_TOOLS_LANGTOOLS
Warning: No SCM configuration present and no .src-rev
Compiling 1 files for BUILD_JFR_TOOLS
Creating hotspot/variant-server/tools/adlc/adlc from 13 file(s)
Compiling 2 files for BUILD_JVMTI_TOOLS
Parsing 2 properties into enum-like class for jdk.compiler
Compiling 19 properties into resource bundles for jdk.compiler
Compiling 10 properties into resource bundles for jdk.javadoc
Compiling 12 properties into resource bundles for jdk.jdeps
Compiling 7 properties into resource bundles for jdk.jshell
Compiling 117 files for BUILD_java.compiler.interim
Compiling 401 files for BUILD_jdk.compiler.interim
Creating support/modules_libs/java.base/server/libjvm.so from 996 file(s)
Creating hotspot/variant-server/libjvm/gtest/libjvm.so from 127 file(s)
Creating hotspot/variant-server/libjvm/gtest/gtestLauncher from 1 file(s)
Compiling 218 files for BUILD_jdk.javadoc.interim
Compiling 171 files for BUILD_TOOLS_JDK
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Compiling 2 files for COMPILE_DEPEND
Compiling 188 files for BUILD_jdk.rmic.interim
Compiling 3 files for BUILD_VM_COMPILER_MATCH_PROCESSOR
Compiling 5 files for BUILD_VM_COMPILER_NODEINFO_PROCESSOR
Compiling 3 files for BUILD_VM_COMPILER_OPTIONS_PROCESSOR
Compiling 14 files for BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Compiling 2 files for BUILD_BREAKITERATOR_BASE
Compiling 2 files for BUILD_BREAKITERATOR_LD
Compiling 3 files for BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR
Creating buildtools/jdk.vm.compiler.match.processor.jar
Creating buildtools/jdk.vm.compiler.nodeinfo.processor.jar
Creating buildtools/jdk.vm.compiler.options.processor.jar
Creating buildtools/jdk.vm.compiler.replacements.verifier.jar
Creating buildtools/jdk.vm.compiler.serviceprovider.processor.jar
Compiling 11 properties into resource bundles for java.logging
Compiling 11 properties into resource bundles for java.base
Compiling 6 properties into resource bundles for java.base
Compiling 11 properties into resource bundles for jdk.jartool
Compiling 11 properties into resource bundles for jdk.management.agent
Compiling 3 properties into resource bundles for jdk.jdi
Compiling 5 properties into resource bundles for jdk.jlink
Compiling 3 properties into resource bundles for jdk.jlink
Compiling 1 properties into resource bundles for jdk.jlink
Compiling 224 properties into resource bundles for jdk.localedata
Compiling 3020 files for java.base
Compiling 89 properties into resource bundles for java.desktop
Compiling 117 files for java.compiler
Compiling 18 files for java.datatransfer
Compiling 10 files for java.instrument
Compiling 35 files for java.logging
Compiling 330 files for java.management
Compiling 140 files for java.net.http
Compiling 15 files for java.scripting
Compiling 1836 files for java.xml
Compiling 5 files for java.transaction.xa
Compiling 22 files for java.smartcardio
Compiling 209 files for jdk.internal.vm.ci
Compiling 24 files for jdk.management
Compiling 9 files for jdk.unsupported
Compiling 61 files for jdk.internal.jvmstat
Compiling 120 files for jdk.charsets
Compiling 405 files for jdk.compiler
Compiling 22 files for jdk.crypto.ec
Compiling 68 files for jdk.dynalink
Compiling 3 files for jdk.internal.ed
Compiling 44 files for jdk.httpserver
Compiling 97 files for jdk.internal.le
Compiling 51 files for jdk.internal.opt
Compiling 33 files for jdk.jartool
Compiling 1 files for jdk.jdwp.agent
Compiling 189 files for jdk.jfr
Compiling 4 files for jdk.jsobject
Compiling 1751 files for jdk.localedata
Compiling 9 files for jdk.net
Compiling 2 files for jdk.nio.mapmode
Compiling 1 files for jdk.pack
Compiling 33 files for jdk.sctp
Compiling 593 files for jdk.scripting.nashorn
Compiling 94 files for jdk.xml.dom
Compiling 16 files for jdk.zipfs
Compiling 15 files for java.prefs
Compiling 30 files for java.security.sasl
Compiling 77 files for java.sql
Compiling 129 files for java.rmi
Compiling 275 files for java.xml.crypto
Note: Some input files use or override a deprecated API that is marked for removal.
Note: Recompile with -Xlint:removal for details.
Compiling 138 files for BUILD_NASGEN
Compiling 15 files for jdk.attach
Compiling 74 files for jdk.crypto.cryptoki
Running nasgen
Compiling 133 files for jdk.jdeps
Compiling 251 files for jdk.jdi
Compiling 218 files for jdk.javadoc
Compiling 11 files for jdk.jstatd
Compiling 14 files for jdk.management.jfr
Compiling 11 files for jdk.scripting.nashorn.shell
Compiling 197 files for java.naming
Note: Some input files use or override a deprecated API that is marked for removal.
Note: Recompile with -Xlint:removal for details.
Compiling 40 files for jdk.jcmd
Warning: rmic has been deprecated and is subject to removal in a future
release. Generation and use of skeletons and static stubs for JRMP
is deprecated. Skeletons are unnecessary, and static stubs have
been superseded by dynamically generated stubs. Users are encouraged
to migrate away from using this tool to generate skeletons and static
stubs. See the documentation for java.rmi.server.UnicastRemoteObject.
Compiling 84 files for jdk.jlink
Compiling 94 files for jdk.jshell
Compiling 188 files for jdk.rmic
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /home/yeqiang/Downloads/openjdk-jdk-14-23/src/jdk.rmic/share/classes/sun/tools/util/ModifierFilter.java uses or overrides a deprecated API that is marked for removal.
Note: Recompile with -Xlint:removal for details.
Compiling 14 files for java.management.rmi
Compiling 218 files for java.security.jgss
Compiling 56 files for java.sql.rowset
Compiling 2781 files for java.desktop
Compiling 31 files for jdk.management.agent
Compiling 16 files for jdk.naming.dns
Compiling 7 files for jdk.naming.rmi
Compiling 30 files for jdk.security.auth
Compiling 16 files for jdk.security.jgss
Warning: rmic has been deprecated and is subject to removal in a future
release. Generation and use of skeletons and static stubs for JRMP
is deprecated. Skeletons are unnecessary, and static stubs have
been superseded by dynamically generated stubs. Users are encouraged
to migrate away from using this tool to generate skeletons and static
stubs. See the documentation for java.rmi.server.UnicastRemoteObject.
Warning: rmic has been deprecated and is subject to removal in a future
release. Generation and use of skeletons and static stubs for JRMP
is deprecated. Skeletons are unnecessary, and static stubs have
been superseded by dynamically generated stubs. Users are encouraged
to migrate away from using this tool to generate skeletons and static
stubs. See the documentation for java.rmi.server.UnicastRemoteObject.
Compiling 1664 files for jdk.internal.vm.compiler
Compiling 1 files for java.se
Compiling 18 files for jdk.accessibility
Compiling 3 files for jdk.editpad
Compiling 8 files for jdk.unsupported.desktop
Compiling 108 files for jdk.aot
Compiling 64 files for jdk.jconsole
Compiling 1003 files for jdk.hotspot.agent
Compiling 67 files for COMPILE_CREATE_SYMBOLS
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Compiling 3 files for jdk.internal.vm.compiler.management
Creating ct.sym classes
Creating support/symbols/ct.sym
Creating support/modules_libs/java.base/libverify.so from 1 file(s)
Creating support/modules_libs/java.base/libjava.so from 56 file(s)
Creating support/native/java.base/libfdlibm.a from 57 file(s)
Creating support/modules_libs/java.base/libzip.so from 5 file(s)
Creating support/modules_libs/java.base/libjimage.so from 6 file(s)
Creating support/modules_libs/java.base/libjli.so from 8 file(s)
Creating support/modules_libs/java.base/libnet.so from 21 file(s)
Creating support/modules_libs/java.base/libnio.so from 19 file(s)
Creating support/modules_libs/java.base/libjsig.so from 1 file(s)
Creating support/modules_libs/java.management/libmanagement.so from 9 file(s)
Creating support/modules_libs/java.instrument/libinstrument.so from 12 file(s)
Creating support/modules_libs/java.prefs/libprefs.so from 1 file(s)
Creating support/modules_libs/java.rmi/librmi.so from 1 file(s)
Creating support/native/java.base/java_objs/java from 1 file(s)
Creating support/modules_cmds/java.base/keytool from 1 file(s)
Creating support/modules_libs/java.base/jexec from 1 file(s)
Creating support/modules_libs/java.base/jspawnhelper from 1 file(s)
Creating support/modules_libs/java.desktop/libmlib_image.so from 50 file(s)
Creating support/modules_libs/java.desktop/libawt.so from 73 file(s)
Creating support/modules_libs/java.desktop/libawt_xawt.so from 51 file(s)
Creating support/modules_libs/java.desktop/liblcms.so from 27 file(s)
Creating support/modules_libs/java.desktop/libjavajpeg.so from 46 file(s)
Creating support/modules_libs/java.desktop/libawt_headless.so from 26 file(s)
Creating support/modules_libs/java.desktop/libfontmanager.so from 61 file(s)
Creating support/modules_libs/java.desktop/libjawt.so from 1 file(s)
Creating support/modules_libs/java.desktop/libsplashscreen.so from 67 file(s)
Creating support/modules_libs/java.desktop/libjsound.so from 18 file(s)
Creating support/modules_cmds/java.rmi/rmid from 1 file(s)
Creating support/modules_cmds/java.rmi/rmiregistry from 1 file(s)
Creating support/modules_cmds/java.scripting/jrunscript from 1 file(s)
Creating support/modules_libs/java.security.jgss/libj2gss.so from 3 file(s)
Creating support/modules_libs/java.smartcardio/libj2pcsc.so from 2 file(s)
Creating support/modules_libs/jdk.management/libmanagement_ext.so from 8 file(s)
Creating support/modules_cmds/jdk.aot/jaotc from 1 file(s)
Creating support/modules_libs/jdk.attach/libattach.so from 1 file(s)
Creating support/modules_cmds/jdk.compiler/javac from 1 file(s)
Creating support/modules_cmds/jdk.compiler/serialver from 1 file(s)
Creating support/modules_libs/jdk.crypto.ec/libsunec.so from 28 file(s)
Creating support/modules_libs/jdk.crypto.cryptoki/libj2pkcs11.so from 14 file(s)
Creating support/modules_libs/jdk.hotspot.agent/libsaproc.so from 8 file(s)
Creating support/modules_cmds/jdk.hotspot.agent/jhsdb from 1 file(s)
Creating support/modules_cmds/jdk.jartool/jar from 1 file(s)
Creating support/modules_cmds/jdk.jartool/jarsigner from 1 file(s)
Creating support/modules_cmds/jdk.javadoc/javadoc from 1 file(s)
Creating support/modules_cmds/jdk.jcmd/jinfo from 1 file(s)
Creating support/modules_cmds/jdk.jcmd/jmap from 1 file(s)
Creating support/modules_cmds/jdk.jcmd/jps from 1 file(s)
Creating support/modules_cmds/jdk.jcmd/jstack from 1 file(s)
Creating support/modules_cmds/jdk.jcmd/jstat from 1 file(s)
Creating support/modules_cmds/jdk.jcmd/jcmd from 1 file(s)
Creating support/modules_libs/jdk.management.agent/libmanagement_agent.so from 1 file(s)
Creating support/modules_cmds/jdk.jconsole/jconsole from 1 file(s)
Creating support/modules_cmds/jdk.jdeps/javap from 1 file(s)
Creating support/modules_cmds/jdk.jdeps/jdeps from 1 file(s)
Creating support/modules_cmds/jdk.jdeps/jdeprscan from 1 file(s)
Creating support/modules_libs/jdk.jdwp.agent/libdt_socket.so from 2 file(s)
Creating support/modules_libs/jdk.jdwp.agent/libjdwp.so from 42 file(s)
Creating support/modules_cmds/jdk.jdi/jdb from 1 file(s)
Creating support/modules_cmds/jdk.jfr/jfr from 1 file(s)
Creating support/modules_cmds/jdk.jlink/jimage from 1 file(s)
Creating support/modules_cmds/jdk.jlink/jlink from 1 file(s)
Creating support/modules_cmds/jdk.jlink/jmod from 1 file(s)
Creating support/modules_libs/jdk.net/libextnet.so from 1 file(s)
Creating support/modules_cmds/jdk.jshell/jshell from 1 file(s)
Creating support/modules_cmds/jdk.jstatd/jstatd from 1 file(s)
Creating support/modules_libs/jdk.pack/libunpack.so from 7 file(s)
Creating support/modules_cmds/jdk.pack/pack200 from 1 file(s)
Creating support/modules_cmds/jdk.pack/unpack200 from 7 file(s)
Creating support/modules_cmds/jdk.rmic/rmic from 1 file(s)
Creating support/modules_cmds/jdk.scripting.nashorn.shell/jjs from 1 file(s)
Creating support/modules_libs/jdk.sctp/libsctp.so from 2 file(s)
Creating support/modules_libs/jdk.security.auth/libjaas.so from 1 file(s)
Compiling 4 files for BUILD_JIGSAW_TOOLS
Optimizing the exploded image
Stopping sjavac server
Finished building target 'default (exploded-image)' in configuration 'linux-x86_64-server-release'

測試openjdk

[yeqiang@localhost openjdk-jdk-14-23]$ ./build/linux-x86_64-server-release/jdk/bin/java -version
openjdk version "14-internal" 2020-03-17
OpenJDK Runtime Environment (build 14-internal+0-adhoc.yeqiang.openjdk-jdk-14-23)
OpenJDK 64-Bit Server VM (build 14-internal+0-adhoc.yeqiang.openjdk-jdk-14-23, mixed mode)

搞定!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章