UbuntuでopenJDKを簡単にコンパイルする方法

序文

私は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

UbuntuでopenJDKを簡単にコンパイルする方法
UbuntuにHelmをインストールする方法
ubuntuでhanlpを使用する方法
ubuntuでijkplayer-androidをコンパイルする方法
Ubuntu14.04にmysqlをインストールする方法
Ubuntu14.04にmysqlをインストールする方法
Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法
Ubuntuでスワップパーティションを追加する方法
Ubuntuにcuda10.1ドライバーをインストールする方法
UbuntuでSudoersにユーザーを追加する方法
Ubuntuで冗長カーネルを削除する方法
Ubuntuで冗長カーネルを削除する方法
Ubuntu20.04にROSNoeticをインストールする方法
ubuntu14.04で静的IPを設定する方法
Ubuntu7.10でソフトウェアソースを変更する方法
Ubuntu20.04でルートアカウントを開く方法
Ubuntu Dashでアプリケーションを非表示にする方法は?
Ubuntu20.04にアップグレードする方法
Ubuntu20.04にアップグレードする方法
ubuntuでタイムゾーンと時間を変更する方法
UbuntuでTensorFlow使用環境を構成する方法
ubuntuサーバー環境にpythonをインストールする方法
Ubuntuシステムでdpkgコマンドを使用する方法
win10でubuntuシステムを開く方法
Ubuntuシステムログで/ var / log / messagesを構成する方法
Ubuntu環境でソースコードからxdebugをコンパイルしてインストールする方法
Ubuntu18.04にスタンドアロンモードでHadoopをインストールする方法
Ubuntuで詳細なネットワークルーティングテーブルを表示する方法
Puttyを使用してVirtualBoxにインストールされているubuntuにログインする方法
ubuntuシステムでタイムゾーンと時間を変更する方法
Ubuntu20.04でIPアドレスを変更する方法の例
Ubuntu14.04でPython仮想環境を作成する方法
Ubuntu 16.04LTSにアップグレードする方法
sshを介してwin10でubuntuシステムを制御する方法
memcacheをインストールしてubuntu環境で起動する方法
UbuntuでLinuxのウィンドウに共有ディスクをマップする方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
pythonコードでラップする方法
CentOSにPHP7.4をインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法