iSALE - installation on FreeBSD Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
以下はFreeBSD 8.4-RELEASE-p7 (amd64)にiSALEをインストールした際の記録である。
なおこの環境はMacOS 10.8上のParallels Desktop 8上の仮想機であるが、物理機であっても大差無いだろう。
== 必要なports
Xorgを入れていることは大前提となるが、以下が必要となる。
* devel/subversion
* graphics/pgplot
* lang/gcc46 (これはgfortranのため)
* devel/gmake
* lang/python
* math/gnuplot
* graphics/ImageMagick
== パスなどの設定
パスやaliasを活用し
* "gfortran"と打ち込むとgfortran46が呼び出される
* "make"と打込むとgmakeが呼び出される
ようにする。何もしないと"gfortran46"および"gmake"を打ち込まないと動かず、後のconfigureやmakeが途中で止まってしまう。
== iSALEのソースファイル取得
以下のようにする。
% cd ~
% svn co --username tito svn://earth.naturkundemuseum-berlin.de/iSALE/tags/chicxulub ./iSALE/work
なおここではmkdir -p iSALE/workなどの操作は不要であり、上のコマンドを実行すると./iSALE/work/が自動的に作られる。パスワードは送付されて来たものを入れる。
== インストール前の設定
以下に行く。
% cd iSALE/work
そこで./configureファイルの冒頭を編集し、
#!/bin/sh
を
#!/usr/local/bin/bash
に変更する。どういう訳かこれをやらないと文法エラーが出た。
== ソースファイルの微修正
詳しい理由を調査してはいないが四ファイルに軽微な修正が必要であった。
* ./iSALE/src/ptools/ptool_flags.F90
このファイルをそのままコンパイルすると、どういうわけか
write(*,"(A,I5)") "iSALEMat v0 (developer), Revision ",REV
の行が以下のようなエラーを出す。
write(*,"(A,I5)") "iSALEMat v0 (developer), Revision",
1
Error: Expected expression in WRITE statement at (1)
今回は原因を追究している時間が無いので、苦肉の策として以下のように変更する。
write(*,"(A)") "iSALEMat v0 (developer), Revision "
write(*,"(I5)") REV
* ./iSALE/src/ptools/isalepar_flags.F90
このファイルをそのままコンパイルすると、どういうわけか
write(*,"(A,I5)") "iSALEPar v0 (developer), Revision",REV
の行が以下のようなエラーを出す。
write(*,"(A,I5)") "iSALEPAR v0 (developer), Revision",
1
Error: Expected expression in WRITE statement at (1)
今回は原因を追究している時間が無いので、苦肉の策として以下のように変更する。
write(*,"(A)") "iSALEPar v0 (developer), Revision"
write(*,"(I5)") REV
* ./iSALE/src/2D/flags.F90
このファイルについてもコンパイル時に上記と同様なエラーが出るので、
write(*,"(A,I5)") "isale2d v0 (developer), Revision",REV
の行を
write(*,"(A)") "isale2d v0 (developer), Revision"
write(*,"(I5)") REV
と修正する。
* ./iSALE/src/2D/info.F90
このファイルについては
#ifdef REV
REVISION=REV
write(out,"(A,I4)") " - Revision-number: ",REVISION
#endif
の冒頭の代入文がエラーを出すので、仕方無く以下のようにする。
#ifdef REV
write(out,"(A)") " - Revision-number: "
write(out,"(I4)") REV
#endif
== makeとインストール
以下のようにすれば良い。
% make
% make install
== 動作試験
以下のようにすれば良い。
% cd share/examples/demo2D
./iSALE2D
== 計算結果の描画
まずファイル./iSALEPlot.inpを編集する。具体的には
png/png
の箇所を
gif/gif
に修正する。次に以下を実行する。
% cd demo2D/
% ../iSALEPlot -f ../iSALEPlot.inp -m jdata.dat
上記が終了したら、ディレクトリDamPre/下に画像ファイルが出来ていることを見る。
% ls -CF DamPre
00000.gif 00040.gif 00080.gif 00120.gif 00160.gif 00200.gif
00010.gif 00050.gif 00090.gif 00130.gif 00170.gif legend1.gif
00020.gif 00060.gif 00100.gif 00140.gif 00180.gif legend2.gif
00030.gif 00070.gif 00110.gif 00150.gif 00190.gif
結果をanimateで見てみる。
% cd DamPre/
% animate -loop 10 00*.gif
それっぽい動画が見えれば無事に完了。
なおこの環境はMacOS 10.8上のParallels Desktop 8上の仮想機であるが、物理機であっても大差無いだろう。
== 必要なports
Xorgを入れていることは大前提となるが、以下が必要となる。
* devel/subversion
* graphics/pgplot
* lang/gcc46 (これはgfortranのため)
* devel/gmake
* lang/python
* math/gnuplot
* graphics/ImageMagick
== パスなどの設定
パスやaliasを活用し
* "gfortran"と打ち込むとgfortran46が呼び出される
* "make"と打込むとgmakeが呼び出される
ようにする。何もしないと"gfortran46"および"gmake"を打ち込まないと動かず、後のconfigureやmakeが途中で止まってしまう。
== iSALEのソースファイル取得
以下のようにする。
% cd ~
% svn co --username tito svn://earth.naturkundemuseum-berlin.de/iSALE/tags/chicxulub ./iSALE/work
なおここではmkdir -p iSALE/workなどの操作は不要であり、上のコマンドを実行すると./iSALE/work/が自動的に作られる。パスワードは送付されて来たものを入れる。
== インストール前の設定
以下に行く。
% cd iSALE/work
そこで./configureファイルの冒頭を編集し、
#!/bin/sh
を
#!/usr/local/bin/bash
に変更する。どういう訳かこれをやらないと文法エラーが出た。
== ソースファイルの微修正
詳しい理由を調査してはいないが四ファイルに軽微な修正が必要であった。
* ./iSALE/src/ptools/ptool_flags.F90
このファイルをそのままコンパイルすると、どういうわけか
write(*,"(A,I5)") "iSALEMat v0 (developer), Revision ",REV
の行が以下のようなエラーを出す。
write(*,"(A,I5)") "iSALEMat v0 (developer), Revision",
1
Error: Expected expression in WRITE statement at (1)
今回は原因を追究している時間が無いので、苦肉の策として以下のように変更する。
write(*,"(A)") "iSALEMat v0 (developer), Revision "
write(*,"(I5)") REV
* ./iSALE/src/ptools/isalepar_flags.F90
このファイルをそのままコンパイルすると、どういうわけか
write(*,"(A,I5)") "iSALEPar v0 (developer), Revision",REV
の行が以下のようなエラーを出す。
write(*,"(A,I5)") "iSALEPAR v0 (developer), Revision",
1
Error: Expected expression in WRITE statement at (1)
今回は原因を追究している時間が無いので、苦肉の策として以下のように変更する。
write(*,"(A)") "iSALEPar v0 (developer), Revision"
write(*,"(I5)") REV
* ./iSALE/src/2D/flags.F90
このファイルについてもコンパイル時に上記と同様なエラーが出るので、
write(*,"(A,I5)") "isale2d v0 (developer), Revision",REV
の行を
write(*,"(A)") "isale2d v0 (developer), Revision"
write(*,"(I5)") REV
と修正する。
* ./iSALE/src/2D/info.F90
このファイルについては
#ifdef REV
REVISION=REV
write(out,"(A,I4)") " - Revision-number: ",REVISION
#endif
の冒頭の代入文がエラーを出すので、仕方無く以下のようにする。
#ifdef REV
write(out,"(A)") " - Revision-number: "
write(out,"(I4)") REV
#endif
== makeとインストール
以下のようにすれば良い。
% make
% make install
== 動作試験
以下のようにすれば良い。
% cd share/examples/demo2D
./iSALE2D
== 計算結果の描画
まずファイル./iSALEPlot.inpを編集する。具体的には
png/png
の箇所を
gif/gif
に修正する。次に以下を実行する。
% cd demo2D/
% ../iSALEPlot -f ../iSALEPlot.inp -m jdata.dat
上記が終了したら、ディレクトリDamPre/下に画像ファイルが出来ていることを見る。
% ls -CF DamPre
00000.gif 00040.gif 00080.gif 00120.gif 00160.gif 00200.gif
00010.gif 00050.gif 00090.gif 00130.gif 00170.gif legend1.gif
00020.gif 00060.gif 00100.gif 00140.gif 00180.gif legend2.gif
00030.gif 00070.gif 00110.gif 00150.gif 00190.gif
結果をanimateで見てみる。
% cd DamPre/
% animate -loop 10 00*.gif
それっぽい動画が見えれば無事に完了。