ubuntu14.10 + openjdk8 で icedtea-netxのインストールに失敗する問題の解消


ちょっとしたトラブルで使っていたVMのubuntuが動かなくなってしまい、最新版を新しく入れたのですが、
その時、topcoder arenaを動かすために
Java Web Startを入れる際に、ちょっと手間取ったので、解消方法をメモ書きしておきます。

もともとVMplayerで使っていたubuntu上で、ログイン後Unityのメニュー等、ほぼ全ての項目が表示されない状態になってしまい、設定ファイルの初期化等色々試したのですが、原因がわからず、
修論で慌ただしい状態でもあるので、原因究明は保留にして、とりあえず入れなおすことにしました。(GUIが使えないだけなので、使えないことはないのですが、原因がわからない以上急に止まっても困るので…)

その際、現状最新版のubuntu14.10 で入れなおしたのですが、その際にjavawsを動かすためにaptでicedtea-netxをインストールしようとしたら、インストール中に以下のエラーが出てインストールが正常に終了しませんでした。

icedtea-netx:amd64 (1.5.1-1ubuntu1) を設定しています ...
update-alternatives: 警告: リンクグループ itweb-settings が壊れているため、alter
native /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings の再インストール
を強制しています
update-alternatives: 警告: /usr/share/man/man1/itweb-settings.1.gz をリンクで置
き換えません
update-alternatives: 警告: リンクグループ itweb-settings が壊れているため、alter
native /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings の再インストール
を強制しています
update-alternatives: 警告: /usr/share/man/man1/itweb-settings.1.gz をリンクで置
き換えません
update-alternatives: エラー: alternative パス /usr/lib/jvm/java-8-openjdk-amd64/
jre/bin/itweb-settings が存在しません
dpkg: error processing package icedtea-netx:amd64 (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステー
タス 2 を返しました
処理中にエラーが発生しました:
 icedtea-netx:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

この際、トラブルで2回再インストールする事になったのですが、最初はopenjdk-8を先に入れたせいかと思っていたのですが、2回目に直接apt-get install icedtea-netxした場合にも上記のerrorになってしまいました。

解決策としては、以下のコマンドを実行して、
openjdk8 をインストール、そしてjdk8に足りないコマンドに対して、jdk7の同名コマンドへのシンボリックリンクを貼ります。
(この対処法は最初に問題にあたって調べた際に、stackoverflowで見つかってメモしたものを元にしてるのですが、この記事を書く際に調べ直したら何故か見つかりませんでした。)

% sudo apt-get install openjdk-8-jdk  
% sudo ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/javaws
% sudo ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/itweb-settings

これで、再度apt-get install 等で正常終了しなかったaptでのインストールを再度行うと、今度は完了します。
ただ、最低限の動作チェックがしましたが、現状なぜこのような構成になっているかや、jdk8にjavaws等がない理由がちゃんと調べられていないので、どういう挙動になっているかわかっていません。
そもそも、java-7-openjdkがインストールされている時点でそちらのjavawsはインストールされているはずなので、なぜこのような状況になっているのかがよくわかっていません。
本当はちゃんと原因を調べておきたいところですが、現状この問題だけに時間が取れないので、とりあえずの対処になっています。

そのため、これで一応動きはしますが、何が起こるか分からないので、注意してください。

2014/12/19:追記
改めて調べ直している時に、launchpadにこのバグが報告されていました。おそらく近日中に修正されると思います。なので、急ぎでないときは公式のバグフィックスを待ったほうがいいかもしれません。

  • https://bugs.launchpad.net/ubuntu/+source/icedtea-web/+bug/1363785

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください