序文
私は3日間WindowsでopenJDKの作業をしましたが、bashに慣れていませんでした。さまざまな不可解な依存関係や、スクリプトのバグに疲れ果てていました。結局、警告があり、-Werrorがtrueに設定されているという、すべてを作成するときに不可解なエラーが発生しました。私は-Werrorにグーグルしなかったので、それをあきらめなければなりませんでした。
今日、新人は突然、私がまだUbuntu仮想マシンを持っていることを思い出しました。私にはそれを試す権利があります。それが簡単に成功するとは思っていませんでした。
プラットフォーム:Ubuntuバージョン5.1.30(3.2.0-98-generic-pae#138-Ubuntu SMP Mon Jan 11 13:11:12 UTC 2016 i686 i686 i386 GNU / Linux)
ステップ1 :(「Java仮想マシンについて」のコマンドに従います)ワンクリックでダウンロードの依存関係
sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev ant
すべてがここに書かれているわけではありませんが、当面は最初にインストールしてください。後で依存関係がない場合は、プロンプトに従ってインストールできます。仏教のプログラマーの日はトリックです。
openJDKのソースコードにはC ++とJavaがあるため、Java部分をコンパイルするにはBootstrapJDKが必要です。このJDKは通常、コンパイルするopenJDKより1バージョン前の公式JDKです。これは、公式READMEビルド(2番目のステップでダウンロードされたソースコードルートディレクトリの下)の内容です。
…The general rule is that the bootstrap JDK must be an instance of the previous major release of the JDK.
各バージョンのREADMEビルドは、このバージョンのopenJDKに必要なBootstrap JDKの特定のバージョンを指定します。たとえば、openJDK8にはJDK7u7より上のバージョンが必要ですが、JDK8は必要ありません。
ステップ2:ソースコードをダウンロードする
sudo hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/
cd jdk8u-dev
chmod 755 get_source.sh
. /get_source.sh
Mercurialを使用してjdk8uの最新のソースコードをダウンロードします。他のバージョンのソースコードをダウンロードする場合は、http://hg.openjdk.java.net/を参照してください。このダウンロードプロセスには約30分かかります。
Mercurialを使用したくない場合は、次の場所からzipパッケージをダウンロードすることもできます:http://jdk.java.net/java-se-ri/8(ページ下部のRIソースコード):
このzipパッケージを使用して、Windowsでコンパイルしたときに解凍してコンパイルしましたが、最終的に失敗しました。迷いながら、私はまだ水銀を使ってUbuntuにダウンロードすることに決めました、そしてすべての神はそれを無視することができます。
ステップ3:環境変数を設定し、新しいsetup.shを作成し、次のコンテンツをコピーします。
export LANG=C
# BootStrap-JDKのインストールパス、ブートストラップに置き換えます-JDKパス
export ALT_BOOTDIR=/usr/lib/jvm/java-7-oracle-1.7.0.80export ALLOW_DOWNLOADS=trueexport HOTSPOT_BUILD_JOBS=8export SKIP_COMPARE_IMAGES=true
# コンパイルするコンテンツ、読者はニーズに応じて選択できます
export BUILD_LANGTOOLS=true
# export BUILD_JAXWS=false
# export BUILD_JAXP=false
# export BUILD_CORBA=falseexport BUILD_HOTSPOT=trueexport BUILD_JDK=trueexport SKIP_COMPARE_IMAGES=true
BUILD_DEPLOY=false
BUILD_INSTALL=false
# コンパイル結果が保存されるパス。openjdkソースコードのビルドフォルダーに保存することをお勧めします。
export ALT_OUTPUTDIR=/usr/dev/jvm/openjdk/build
# これらの2つの環境変数を削除する必要があります。そうしないと、問題が発生します。
unset JAVA_HOME
unset CLASSPATH
実行
. /setup.sh
もう一度設定するだけです。
ステップ4:コンパイル
適切なopenJDKソースコードのルートディレクトリでmakeを実行するには、約20〜30分かかります。 make sanityを実行するはずでしたが、このエラーが再び発生しました...
なんてこった、しばらく検索しても結果が出なかったので、鶏泥棒はこのステップを飛ばして直接makeを実行し、成功しました。成功後の出力は次のようになります。
総括する
以上がこの記事の全内容です。この記事の内容があなたの研究や仕事に一定の参考になることを願っています。ご不明な点がございましたら、メッセージを残して交換してください。ZaLouへのご支援ありがとうございます。
Recommended Posts