久しぶりにtopcoderをやろうと思った。
標準のfedoraに、javawsはすでに入っていたのでそのままで動くことを期待しつつ
alenaをクリックするも動かず。
ローカルでforceオプションだか何だかをつけてやれば、取り合えず立ち上がった。
$javaws --force(うろ覚え) ContestAppletProd.jnlp
このままでも動きそうな気がしたが、OpenJDKはjavawsについてすべてサポートしているわけでは
ないらしいので、人のサーバーということもあり、念のためSunのJDKを入れることにした。
JPackageの最新が、Update6までの対応だったので、最新のUpdate10ではなく、Updaate6のJDKを入手して、
インストール
$chmod +x jdk-6u6-linux-i586-rpm.bin
$su
#./jdk-6u6-linux-i586-rpm.bin
んで、JPackageのサイト
ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/
からrpmを持ってきてインストール。
#rpm -ivh java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
リンク /usr/bin/javaws はスレーブ javaws(/usr/share/javaws javaws)に不適切です。
なんかjavawsでエラーがでた。嫌な予感がする。
# alternatives --config java
としても、Sunのjavaが居ないので、JPackageがうまくインストールできていない模様。
めんどくせぇーと思いつつ、ネットを探索。
いくつか似たようなものが引っかかるが、直接コレというものには当たらず。
ま、どこかには記事があるんだろうけど・・・。
しょうがないので、SRPMをダウンロードしてきたあと、インストールしてソースをみる。
多分スクリプトだろうことは、似たような記事から類推した。
#rpm -ivh ./java-1.6.0-sun-compat-1.6.0.06-1jpp.src.rpm
#vi /usr/src/redhat/SPECS/java-1.6.0-sun-compat.spec
で中身を覗く。
よくわからないものの、
$cat /usr/lib/rpm/i586-linux/macrosの定義を見比べたりしていると、
シンボリックリンクの位置が、/usr/share/javawsになっていたのを発見。
ちょうどエラーで出てるし、怪しいので、/usr/binになるように変更した。
--slave %{_datadir}/javaws javaws %{_jvmdir}/%{jrelnk}/javaws
↓
--slave %{_bindir}/javaws javaws %{_jvmdir}/%{jrelnk}/javaws
んで、rpmを作り、インストール。
#rpmbuild --bb /usr/src/redhat/SPECS/java-1.6.0-sun-compat.spec
#rpm -ivh /usr/src/redhat/RPMS/i586/java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
ちゃんとSunのJDKが選択可能になっていた。
#alternateves --config --java
3 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
* 2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
+ 3 /usr/lib/jvm/jre-1.6.0-sun/bin/java
どうやらおそらく変更できている模様。
# java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
あとは、firefox側の設定。
編集->設定から、プログラム->jnlpファイルで、パスを/usr/bin/javaws/javawsを
指定してやれば完了。
うーん、めんどくさかった。
途中で、OpenJDKを消したり、色々と試行錯誤したが、結局はJPackageだった。
ちなみにtopcoderへログインできたことしか確認してません。
標準のfedoraに、javawsはすでに入っていたのでそのままで動くことを期待しつつ
alenaをクリックするも動かず。
ローカルでforceオプションだか何だかをつけてやれば、取り合えず立ち上がった。
$javaws --force(うろ覚え) ContestAppletProd.jnlp
このままでも動きそうな気がしたが、OpenJDKはjavawsについてすべてサポートしているわけでは
ないらしいので、人のサーバーということもあり、念のためSunのJDKを入れることにした。
JPackageの最新が、Update6までの対応だったので、最新のUpdate10ではなく、Updaate6のJDKを入手して、
インストール
$chmod +x jdk-6u6-linux-i586-rpm.bin
$su
#./jdk-6u6-linux-i586-rpm.bin
んで、JPackageのサイト
ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/
からrpmを持ってきてインストール。
#rpm -ivh java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
リンク /usr/bin/javaws はスレーブ javaws(/usr/share/javaws javaws)に不適切です。
なんかjavawsでエラーがでた。嫌な予感がする。
# alternatives --config java
としても、Sunのjavaが居ないので、JPackageがうまくインストールできていない模様。
めんどくせぇーと思いつつ、ネットを探索。
いくつか似たようなものが引っかかるが、直接コレというものには当たらず。
ま、どこかには記事があるんだろうけど・・・。
しょうがないので、SRPMをダウンロードしてきたあと、インストールしてソースをみる。
多分スクリプトだろうことは、似たような記事から類推した。
#rpm -ivh ./java-1.6.0-sun-compat-1.6.0.06-1jpp.src.rpm
#vi /usr/src/redhat/SPECS/java-1.6.0-sun-compat.spec
で中身を覗く。
よくわからないものの、
$cat /usr/lib/rpm/i586-linux/macrosの定義を見比べたりしていると、
シンボリックリンクの位置が、/usr/share/javawsになっていたのを発見。
ちょうどエラーで出てるし、怪しいので、/usr/binになるように変更した。
--slave %{_datadir}/javaws javaws %{_jvmdir}/%{jrelnk}/javaws
↓
--slave %{_bindir}/javaws javaws %{_jvmdir}/%{jrelnk}/javaws
んで、rpmを作り、インストール。
#rpmbuild --bb /usr/src/redhat/SPECS/java-1.6.0-sun-compat.spec
#rpm -ivh /usr/src/redhat/RPMS/i586/java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
ちゃんとSunのJDKが選択可能になっていた。
#alternateves --config --java
3 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
* 2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
+ 3 /usr/lib/jvm/jre-1.6.0-sun/bin/java
どうやらおそらく変更できている模様。
# java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
あとは、firefox側の設定。
編集->設定から、プログラム->jnlpファイルで、パスを/usr/bin/javaws/javawsを
指定してやれば完了。
うーん、めんどくさかった。
途中で、OpenJDKを消したり、色々と試行錯誤したが、結局はJPackageだった。
ちなみにtopcoderへログインできたことしか確認してません。