首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Linux (Ubuntu 14.04) 編譯 OpenJDK 7u4 完整實錄:環境準備、編譯參數與坑點解決

     編輯:Java 綜合教學

Linux (Ubuntu 14.04) 編譯 OpenJDK 7u4 完整實錄:環境準備、編譯參數與坑點解決

一、 安裝編譯依賴

sudo apt-get install build-essential gawk m4 openjdk-6-jdk \
  libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev \
  x11proto-print-dev binutils libmotif3 libmotif-dev ant

二、 設置環境變量

export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk-amd64  # Bootstrap JDK
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
unset CLASSPATH
unset JAVA_HOME

三、 檢查構建環境

make sanity

輸出 Sanity check passed. 表示環境就緒。關鍵輸出信息包括:Bootstrap JDK 版本、編譯器版本、目標架構、並行編譯任務數等。

sanity check 輸出

四、 開始編譯

make

編譯約 15-20 分鐘(視機器性能)。成功後產出目錄:

build/linux-amd64/          # 發布版
build/linux-amd64-debug/    # 調試版

驗證:

cd build/linux-amd64/bin
./java -version
# 輸出:openjdk version "1.7.0-internal-debug" ...

編譯耗時統計 構建產物目錄

五、 常見錯誤與解決

1. HotSpot 編譯階段報 symbol JVM_FindClassFromCaller ... not defined

原因:測試腳本 test_gamma 依賴 Bootstrap JDK 的 libjvm.so 符號不匹配。

修復:編輯 hotspot/make/linux/Makefile,刪除所有 && ./test_gamma 行。

2. 生成貨幣數據時錯誤 time is more than 10 years from present: 1136059200000

原因: CurrencyData.properties 內時間戳過舊。

修復:將文件中時間戳修改為 10 年內的值(如當前時間戳)。

參考資源

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved