Amazon Corretto を Ubuntu OS にインストールするにはどうすればよいですか。
4 に答える
ほとんどの場合、2 つのパッチを作成した後、Corretto ソースをチェックアウトしてそこからビルドすることができました。これは明らかに Amazon によってサポートされていないことに注意してください。サポートされているディストリビューションが必要な場合は、GA リリースでリリースされるまでお待ちください。これは明らかなはずですが、ここで仮定するよりもよく知っているようになりました:これまたはそれに似たものを実稼働システムまたは共有システムで試さないでください。
OTOH、何かを実験したり壊したりするのが好きなら、読み進めてください!
1. Corretto ソース ツリーを確認します。
git clone git@github.com:corretto/corretto-8.git
2. パッチを適用します。
2 つのコンパイル エラーが発生しました (おそらく、Amazon Linux 2 と Ubuntu 18.04.1 LTS のコンパイラ バージョンが異なるためです)。
% patch -p1
diff --git a/src/hotspot/src/share/vm/code/dependencies.cpp b/src/hotspot/src/share/vm/code/dependencies.cpp
index c284160e..c4c8e9b4 100644
--- a/src/hotspot/src/share/vm/code/dependencies.cpp
+++ b/src/hotspot/src/share/vm/code/dependencies.cpp
@@ -525,7 +525,7 @@ void Dependencies::write_dependency_to(xmlStream* xtty,
xtty->object("x", arg.metadata_value());
}
} else {
- char xn[10]; sprintf(xn, "x%d", j);
+ char xn[12]; sprintf(xn, "x%d", j);
if (arg.is_oop()) {
xtty->object(xn, arg.oop_value());
} else {
diff --git a/src/hotspot/src/share/vm/runtime/fprofiler.cpp b/src/hotspot/src/share/vm/runtime/fprofiler.cpp
index 58cb6e89..89aa0cd8 100644
--- a/src/hotspot/src/share/vm/runtime/fprofiler.cpp
+++ b/src/hotspot/src/share/vm/runtime/fprofiler.cpp
@@ -635,7 +635,7 @@ class vmNode : public ProfilerNode {
const char *name() const { return _name; }
bool is_compiled() const { return true; }
- bool vm_match(const char* name) const { return strcmp(name, _name) == 0; }
+ bool vm_match(const char* name) const { return name == NULL ? false : strcmp(name, _name) == 0; }
Method* method() { return NULL; }
次に、Ctrl+D を 2 回押します。君は見るべきだ:
patching file src/hotspot/src/share/vm/code/dependencies.cpp
patching file src/hotspot/src/share/vm/runtime/fprofiler.cpp
3. 依存関係をインストールします。
これはちょっとしたいたちごっこかもしれません。私の場合、libcups2-dev と libasound2-dev を除いて、必要なものはすべて揃っていました。
apt install -y libcups2-dev libasound2-dev
構成ステップ (次のステップ) では、何が欠けていると考えられていたかが驚くほど明確でした。
4.設定
ソース ツリーを構成します。
cd src
./configure
すべてがうまくいけば、最後の行は次のようになります。
A new configuration has been successfully created in
/home/dacut/projects/corretto-8/src/build/linux-x86_64-normal-server-release
using default settings.
Configuration summary:
* Debug level: release
* JDK variant: normal
* JVM variants: server
* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
Tools summary:
* Boot JDK: openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) (at /usr/lib/jvm/java-8-openjdk-amd64)
* Toolchain: gcc (GNU Compiler Collection)
* C Compiler: Version 7.3.0 (at /usr/bin/gcc)
* C++ Compiler: Version 7.3.0 (at /usr/bin/g++)
Build performance summary:
* Cores to use: 7
* Memory limit: 15757 MB
これが事実なら、続けてください!
そうでない場合は、エラー メッセージが表示されます。私の場合、彼らは非常に役に立ちました:
configure: error: Could not find cups! You might be able to fix this by running 'sudo apt-get install libcups2-dev'.
configure exiting with result code 1
configure: error: Could not find alsa! You might be able to fix this by running 'sudo apt-get install libasound2-dev'.
configure exiting with result code 1
アドバイスに従ってインストールし (手順 3)、もう一度やり直してください。構成の実行ごとに 1 つのメッセージしか取得できないため、これには数回の反復が必要になる場合があります。
5. コンパイル
実行しますmake
。すべてがうまくいけば、最後に次のようなものが表示されます。
## Finished jdk (build time 00:02:07)
----- Build times -------
Start 2018-11-24 13:30:24
End 2018-11-24 13:35:36
00:00:19 corba
00:02:18 hotspot
00:00:12 jaxp
00:00:16 jaxws
00:02:07 jdk
00:00:00 langtools
00:05:12 TOTAL
-------------------------
Finished building OpenJDK for target 'default'
そうでない場合は...まあ、今は実験の部分に深く入っています。
6. インストール
sudo make install
これで、Corretto が にビルドされ/usr/local/jvm/openjdk-1.8.0-internal
ます。
免責事項: 私は AWS で働いていますが、これは純粋に私の個人的な実験であり、私は自分自身のために話しているだけです. これらの手順は、Amazon または Corretto チームによって認可も承認もされていません。慎重に進んでください!
Amazon Corretto preview2 がリリースされ、Debian ベースのシステム用のパッケージが含まれています。
https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html