CentOS 編譯 openjdk

1. 概述php

    <<深刻理解Java虛擬機--JVM高級特性與最佳實踐>>第一章就談到本身編譯jdk,來吧。html

2.  編譯環境java

    VMware12linux

    CentOS-7-x86_64-Everything-1611c++

3. 軟件準備vim

    Bootstrap JDK:  jdk-7u79-linux-x64.tar.gz
centos

    OpenJDK:  https://jdk7.java.net/source.html jvm

4. 編譯依賴ui

  4.1 安裝alsa軟件包spa

       yum -y install alsa-lib-devel

  4.2 安裝 cups-devel

      yum -y install cups-devel

  4.3 安裝lib相關庫

      yum -y install libX*

  4.4 安裝gcc

      yum -y install gcc gcc-c++

  4.5 安裝freetype

       4.5.1 下載 http://rpm.pbone.net/index.php3/stat/4/idpl/26641422/dir/centos_7/com/freetype-2.4.11-9.el7.x86_64.rpm.htm

       4.5.2 安裝  rpm -ivh freetype-2.4.11-9.el7.x86_64.rpm

  4.6 安裝ant

        yum -y install ant

        說明: 這時會將openjdk做爲依賴進行安裝; 安裝完, java -version| ant -version看看

                && 使用ant.tar.gz解壓方式安裝 不要安裝配置jdk依賴

  4.7 安裝libstdc++

        yum -y install libstdc++-static

        說明: 此安裝爲解決編譯時出錯 ERROR: Cannot chcon libjvm.so

 

5. 環境變量配置 vim /etc/profile

    export CLASSPATH

  export JAVA_HOME

    export LANG=C

    export ALT_BOOTDIR=/usr/java/jdk1.7.0_76

    export ALLOW_DOWNLOADS=true

    export USE_PRECOMPILED_HEADER=true

    export ARCH_DATA_MODEL=64

    export HOTSPOT_BUILD_JOBS=4

    export ALT_PARALLEL_COMPILE_JOBS=4

    export SKIP_DEBUG_BUILD=false

    export SKIP_FASTDEBUG_BUILD=true

    export DEBUG_NAME=debug

    export ALT_OUTPUTDIR=/usr/java/openjdk/build

6.  編譯檢查

     make sanity

     若輸出結果爲:Sanity check passed,表示設置正確

7.  執行編譯

     make

8.  編譯時可能出現的其餘問題

     8.1 ./gamma: relocation error: /usr/java/jdk1.7.0_76/jre/lib/amd64/libjava.so:

            刪除 /usr/java/openjdk/hotspot/make/linux/Makefile文件中 全部test_gamma
            (vim Makefile-> /test_gamma查找->:%s/&& \.\/test_gamma//g替換全部)

     8.2  Error: time is more than 10 years from present:

            /usr/java/openjdk/jdk/src/share/classes/java/util/CurrencyDate.properties文件中全部時間改成近期

            vim 指令   /20..-搜索-> i 修改 -> esc退出i -> n下一個位置 -> i 直到所有改完

     8.3  其餘

            make clean 能夠清一下以前編譯

9. 結果圖

   

10. debug版jdk

     /usr/java/openjdk/build-debug/j2sdk-image下的內容爲debug版jdk

     刪除原有jdk,配置環境變量JAVA_HOME CLASSPATH PATH

   

    查看jdk版本

相關文章
相關標籤/搜索