スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Helyx-OSを動かしてみた

OpenFOAM勉強会@関東に刺激されて、ちょっとだけ Helyx-OSを動かしてみた。

Helyx-OSのインストール法:http://sourceforge.net/p/helyx-os/wiki/DownloadAndInstallation/

私が試した OSは 2つ。
・Ubuntu 10.04(DEXCS2011-OF20x64)
・CentOS 6.2(64bit)

インストール先は任意だが、今回は「/opt/OpenFOAM」の下にインストールする。

● Helyx-OSをダウンロード。
入手先:http://sourceforge.net/projects/helyx-os/

cd $HOME/Downloads
wget http://sourceforge.net/projects/helyx-os/files/20120721-engys-HelyxOS-100-linux-x64-JRE.tar.bz2
wget http://sourceforge.net/projects/helyx-os/files/20120721-engys-HelyxOS-100-src.tar.bz2


● プリコンパイル版を動かしてみる。

パッケージを展開。

cd /opt/OpenFOAM
tar xf $HOME/Downloads/20120721-engys-HelyxOS-100-linux-x64-JRE.tar.bz2


Helyx-OSを実行。

cd Engys/HelyxOS/v100
LANG=C ./helyxOS.sh


動いた。

もし以下のように「libmpi.so.0」がない旨のメッセージが出たら、

java.lang.UnsatisfiedLinkError: /opt/OpenFOAM/Engys/HelyxOS/v100/ext/libvtkHybridJava.so.5.10.0: libmpi.so.0: cannot open shared object file: No such file or directory
  at java.lang.ClassLoader$NativeLibrary.load(Native Method)
  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
  at java.lang.Runtime.loadLibrary0(Runtime.java:823)
  at java.lang.System.loadLibrary(System.java:1028)
  at eu.engys.helyx.vtk.VTKUtil.loadLibrary(VTKUtil.java:87)
  at eu.engys.helyx.vtk.VTKUtil.LoadAllNativeLibraries(VTKUtil.java:64)
  at eu.engys.helyx.gui.Launcher.main(Launcher.java:44)


以下のようにシンボリックリンクを作っておいて、再び「helyxOS.sh」を実行する。

ln -s $MPI_ARCH_PATH/lib/libmpi.so $MPI_ARCH_PATH/lib/libmpi.so.0


● ソースからビルドしてみる。

① Javaをインストール。

Helyx-OS内の Javaのバージョンを確認。

cd /opt/OpenFOAM/Engys/HelyxOS/v100
jre_linux_x64_VTK/bin/java -version


以下のように表示された。

java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)


なるべくバージョンが近い Oracle JDKをインストールする。

Oracle JDKを入手。
入手先:http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
以下のファイルをブラウザでダウンロードした。保存先は「$HOME/Downloads」。

jdk-6u34-linux-x64.bin


今回はホームディレクトリの下でインストーラを起動。

chmod u+x $HOME/Downloads/jdk-6u34-linux-x64.bin
cd
$HOME/Downloads/jdk-6u34-linux-x64.bin


「$HOME/jdk1.6.0_34」の下にインストールされた。

② antがなければインストール。

# Ubuntu
sudo apt-get install ant1.8

# CentOS
sudo yum install ant


antのバージョン確認

ant -version


③ Helyx-OSのソースパッケージを、プリコンパイルパッケージと同じ場所で展開。

cd /opt/OpenFOAM
tar xf $HOME/Downloads/20120721-engys-HelyxOS-100-src.tar.bz2


④ ビルド。
 環境変数 JAVA_HOMEに、自分がインストールした Oracle JDKの場所を指定して antを実行する。

cd Engys/HelyxOS/v100
JAVA_HOME=$HOME/jdk1.6.0_34 ant -buildfile build_src.xml


以下のエラーが出た。

Buildfile: /opt/OpenFOAM/Engys/HelyxOS/v100/build_src.xml

init:
  [mkdir] Created dir: /opt/OpenFOAM/Engys/HelyxOS/v100/build

compile:
  [javac] Compiling 212 source files to /opt/OpenFOAM/Engys/HelyxOS/v100/build
  [javac] /opt/OpenFOAM/Engys/HelyxOS/v100/src/eu/engys/helyx/gui/AboutWindow.java:53: この文字は、エンコーディング UTF8 にマップできません。
  [javac]   //private static final String DISCLAIMER = "HELYX is not approved or endorsed by SGI Corp., owner of the OPENFOAM? trademark";
  [javac]                                                            ^
  [javac] /opt/OpenFOAM/Engys/HelyxOS/v100/src/eu/engys/helyx/gui/AboutWindow.java:54: この文字は、エンコーディング UTF8 にマップできません。
  [javac]   private static final String COPYRIGHT = "Copyright ? Engys Ltd 2012. All rights reserved.";
  [javac]                             ^
  [javac] エラー 2 個

BUILD FAILED
/opt/OpenFOAM/Engys/HelyxOS/v100/build_src.xml:34: Compile failed; see the compiler error output for details.

Total time: 1 second


nkfを使って、ソースコードを UTF8に変換する。まず、nkfがなければインストール。

# Ubuntu
sudo apt-get install nkf

# CentOS
sudo yum install nkf


現在のエンコードを確かめる。

nkf -g /opt/OpenFOAM/Engys/HelyxOS/v100/src/eu/engys/helyx/gui/AboutWindow.java


「Shift_JIS」と表示された。

UTF8に変換。

nkf -w --overwrite /opt/OpenFOAM/Engys/HelyxOS/v100/src/eu/engys/helyx/gui/AboutWindow.java
nkf -g /opt/OpenFOAM/Engys/HelyxOS/v100/src/eu/engys/helyx/gui/AboutWindow.java


「UTF-8」と表示された。

再びビルド。

JAVA_HOME=$HOME/jdk1.6.0_34 ant -buildfile build_src.xml


成功。

⑤ Helyx-OSを実行してみる。
「helyxOS.sh」を起動しても良いと思うが、自分で javaコマンドを使って動かしてみた。
 Helyx-OS内の Javaを使う。

jre_linux_x64_VTK/bin/java -jar lib/HelyxOS.jar


GUIは起動するが、右上に「Error loading VTK librares」と表示されて、レンダリングが失敗した。
端末には以下のエラーメッセージが表示されていた。

java.lang.UnsatisfiedLinkError: no vtkCommonJava in java.library.path
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
  at java.lang.Runtime.loadLibrary0(Runtime.java:823)
  at java.lang.System.loadLibrary(System.java:1028)
  at eu.engys.helyx.vtk.VTKUtil.loadLibrary(VTKUtil.java:87)
  at eu.engys.helyx.vtk.VTKUtil.LoadAllNativeLibraries(VTKUtil.java:60)
  at eu.engys.helyx.gui.Launcher.main(Launcher.java:44)


必要な LD_LIBRARY_PATHが通っていないのが原因。

これならどうだ。

LD_LIBRARY_PATH=/opt/OpenFOAM/Engys/HelyxOS/v100/ext:/opt/OpenFOAM/Engys/HelyxOS/v100/jre_linux_x64_VTK/lib/amd64/xawt:${LD_LIBRARY_PATH} jre_linux_x64_VTK/bin/java -jar lib/HelyxOS.jar


動いた。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

カネダック

Author:カネダック
 
普通のC++プログラマですが、業務で流体解析をやっていて格子職人と呼ばれています。
J.S.バッハ等、古楽をピリオド楽器による演奏で聴くのが好き。
リュート演奏にあこがれつつ、クラシックギターを弾きます。

保有資格
・中小企業診断士
・Oracle Master 8 Platinum(今のGold相当)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。