ubuntu編譯openjdk7


 


modify history:

  2012-02-25:

    1. add the ubuntu info,when install the os,you should choose the English.

    2. add some args to the build script:BUILD_HOTSPOT_JOBS=2 BUILD_CORBA=false

 


背景:因為之前學習openjdk的虛擬機系統,安裝了emacs,導致環境編譯出現問題。例如:這個問題,但不僅僅只有這一個。

    雖然有安裝之前有整個虛擬機完整的備份,但是正好趁此機會,再重新整理一遍編譯過程。

1. 環境信息

   宿主操作系統:win7 professional 32位

   vmware版本: vmware7

   虛擬系統版本: Ubuntu10.10 32位 (English version)

2. 環境搭建

   2.1 安裝wmware,過程略。

   2.2 創建ubuntu的虛擬系統(不是安裝ubuntu過程),只需要設置cpu,memory,harddriver size,安裝路徑,其他默認即可。

       注:配置虛擬機hardware的時候,刪除不使用的hardware,特別是sound。參見這個帖子

       創建完(這里還未開始安裝系統)之后虛擬機的hardware信息:

         image

    2.3 安裝ubuntu,過程略。

       注:1. 選擇English;

          2. 請保證網絡良好,要么直接斷網,否則在安裝過程中選擇時區在網絡差的情況會造成卡機(卡很久很久,重裝2、3次才發覺是網絡的問題,可憐的移動3g網絡)

          3. 安裝完成之后,進行系統清理。(刪除不適用的軟件:game之類的。看個人喜好)

          4. 更新源:$sudo apt-get update  #沒有通過UpdateManager更新ubuntu操作系統

3. 軟件安裝

      3.1 ubuntu中安裝openssh-server,方便與宿主機器交互文件。

        $sudo apt-get install openssh-server   #安裝完成之后sshd服務自動啟動。

    3.2 宿主計算機安裝ssh軟件,過程略。

    3.3 安裝apt-file,便於根據*.h搜索對應的庫文件,后面會用到。

        $sudo apt-get install apt-file

        $apt-file update       #安裝完之后更新源

    3.4 安裝ant,下載地址,本地保存路徑:/home/haowei/Downloads(注:后面的路徑均為本人計算機路徑)

        $cd /home/haowei/Downloads

        $unzip apache-ant-1.8.2-bin.zip  -d .. #解壓到上級目錄,解壓后路徑:/home/haowei/apache-ant-1.8.2

    3.5 安裝freetype2,下載地址,本地保存路徑:/home/haowei/Downloads

        $cd /home/haowei/Downloads

        $tar zxvf freetype-2.4.4.tar.gz -C ..  #解壓到上級目錄,解壓后路徑:/home/haowei/freetype-2.4.4

        $cd /home/haowei/freetype-2.4.4

        $./configure

        $make

        $sudo make install   #因為user的關系,需要sudo來執行安裝,安裝過程報錯但是ignored,所以不影響。

rm -f /usr/local/include/freetype2/freetype/cache/*
rmdir /usr/local/include/freetype2/freetype/cache
rm -f /usr/local/include/freetype2/freetype/internal/*
rmdir /usr/local/include/freetype2/freetype/internal
rmdir: failed to remove `/usr/local/include/freetype2/freetype/internal': No such file or directory
make: [install] Error 1 (ignored)
/usr/bin/install -c -m 644 ./builds/unix/ft2unix.h \
/usr/local/include/ft2build.h

     3.6 安裝BOOTJDK,從oracle官網下載jdk1.6.0_26,解壓后的路徑:/home/haowei/sunjdk/jdk1.6.0_26

     3.7 下載解壓openjdk7的源碼,解壓后的路徑:/home/haowei/openjdk

     3.8 安裝編譯需要的軟件或者庫:

         軟件或者庫列表:

           gawk;g++;libasound2-dev;libcups2-dev;libx11-dev;libxt-dev;

           libxrender-dev;libxext-dev;libxtst-dev

           $sudo apt-get install xxx    #執行安裝xxx

     3.9 如果編譯過程中還是缺少依賴庫的話,參考下面這個過程,幫你找到對應的庫。

                    Image[3]

                    編譯提示,缺少X11/extensions/Xrender.h No Such file or directory。通過命令【$apt-file search Xrender.h】查找哪些庫有Xrender.h

                    Image(1)

                    $sudo apt-get install libxrender-dev     #最終確定,Xrender.h是在libxrender-dev庫中。

4. 編譯openjdk

   4.1 編譯腳本

haowei@haoweiVM:~/openjdk$ less 1-build-debug_hotspot.sh 
LogFile=build_debug_version.`date +%Y-%m-%d_%H:%M:%S`.log
export ALT_BOOTDIR="/home/haowei/sunjdk/jdk1.6.0_26" 
export ALT_JDK_IMPORT_PATH="/home/haowei/sunjdk/jdk1.6.0_26" 
export ANT_HOME="/home/haowei/apache-ant-1.8.2"
export PATH="/usr/local/sbin:/usr/lib/:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/haowei/apache-ant-1.8.2/bin"
export ALT_FREETYPE_HEADERS_PATH=/usr/local/include/freetype
export ALT_FREETYPE_LIB_PATH=/usr/lib/
make debug_build BUILD_HOTSPOT_JOBS=2 BUILD_JAXWS=false BUILD_JAXP=false BUILD_CORBA=false>$LogFile

設定LogFile是為了保存每次編譯過程的日志。根據編譯日志還可以看到一些有用的信息

make參數還可以選擇:product_build....

4.2 編譯過程的問題

             4.2.1 freetype檢查出現問題
                編譯過程出現下面的錯誤:

            Image(2)

            解決辦法:安裝完freetype后,需要對路徑進行修改(其實就是要將freetype目錄里的全部文件移到上層目錄,再修改上層目錄的文件名為freetype):

                 old:/usr/local/include/freetype2/freetype/*

                 new:/usr/local/include/freetype/*

        4.2.2 libfreetype.so找不到

             下面這個問題是libfreetype.so文件找不到。但在/usr/lib中有libfreetype.so.6的文件

              Image(3)

             在目錄【/usr/lib】中建立libfreetype.so的

             軟連接:【$sudo ln -sv /usr/lib/libfreetype.so.6 libfreetype.so】

             Image(4)

  4.2.3 編譯完成

-- Build times ----------
Target debug_build
Start 2012-02-07 10:47:19
End   2012-02-07 10:56:50
00:00:11 corba
00:00:26 hotspot
00:08:48 jdk
00:00:06 langtools
00:09:31 TOTAL
-------------------------
注:這里的執行時間不是真正完整的編譯時間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM