ADVENTUREのインストールで調べたLinuxコマンド

Linux素人なので、コマンドを調べながら作業している。次のエントリで調べながら使ったLinuxのコマンドをメモしておこうと思う。
科学計算ごっこ: ADVENTUREを試す その0-0 前段

1. find, grep, xargs, sed

似たような文字列の置換が多かったので、何かないかと調べてみた。今回は、findとgrepで置換したい文字列を探して表示して、確認→確認して置換したいものだけが引っかかったら、その文字列をfindとsedで置換。正直、長いコマンドの意味までちゃんと理解していない。
具体的なコマンドの例は、以下。
find . -type f -print | xargs grep 'iostream\.h'
find . -type f | xargs sed -i "s/iostream.h/iostream/g"
参考にしたサイトはたとえば、次のようなところ。

2. diff, patch

これは、現在も探り探り。ちゃんとパッチファイルができているかの検証がイマイチ。
とりあえず、元ソースのディレクトリと、変更済みのディレクトリを用意して、下記のコマンドでパッチファイルをとりあえず作成した。
diff -cN -r AdvTriPatch-1.8_bk AdvTriPatch-1.8_cl > AdvTriPatch.patch
参考にしたサイトは、以下。

ADVENTUREを試す その1-1 インストール作業1

ADVENTUREをインストールして行こう。インストールディレクトリは、″$HOME/usr/bin/ADVENTURE″とした。 ディレクトリを作成して、パスを通して、作業開始。

1. ADVENTURE_CAD

ダウンロードしたファイルを解凍後、そのディレクトリ内のREADMEを参考に、コンパイル。2回makeを実行するが、MakefileのOptimization flagsだけ、-Oから-O2に変更してみた。気になるところがないではないが、実行ファイルadvcadがすんなりできたので、上記ディレクトリにコピーして終了。

2. ADVENTURE_Tripatch

INSTALLファイルを参考に、下記を実行。
./configure --prefix=$HOME/usr/bin/ADVENTURE

Makefileの中を見て、c++をg++に変更。その後、makeすると、エラーが出る。少しずつソースを修正しながら、makeを続けていった。出てきたエラーは、たとえば、こんなん。
  • 致命的エラー: iostream.h: そのようなファイルやディレクトリはありません
  • エラー: ‘ostream’ does not name a type
  • エラー: ‘endl’ was not declared in this scope
  • エラー: ‘cout’ was not declared in this scope
  • エラー: ‘ios’ has not been declared
インクルード関連は、#include<iostream.h>を#include<iostream>などにすればコンパイルが通る様子。その他、#include<stream.h>とかを消したり、#include<string.h>は#include<cstring>に変更したり、なかなか細々した作業。
下半分は、頭にstd::をつければいいみたい。

動くかはさておき、これでひと通りのコンパイルは通る。
意外と時間がかかったので、インストール作業のメモは、一旦ここまで。パッチファイルにまとめておこう…

------------------ 進捗まとめ ------------------
全体更新日:2013/05/11
状態:準備段階。進捗10%。
エントリーまとめ:
ADVENTUREを試す その0-0 前段
ADVENTUREを試す その0-1 準備
ADVENTUREを試す その1-1 インストール作業1
ADVENTUREを試す その2 計算例
------------------ 進捗まとめ ------------------

ADVENTUREを試す その0-1 準備

準備したことを順番にメモしておこう。

1. Ubuntu 13.04のインストール

Ubuntu.comから64bit版をダウンロードしてきて、インストール。設定なんかは下記のサイトを参考にちょこちょこ。
Ubuntu 13.04をインストールした直後に行う設定 & インストールするソフト

その他、gfortranをインストール。
他には、zshを入れた。(参考にしたサイト:Zshの設定プロファイル(.zprofileと.zshrc) | Kitchen Garden Blog

2. ADVENTUREのダウンロード

ADVENTUREプロジェクトから必要なモジュールをダウンロード。ダウンロードしたのは下記のモジュール。
  • ADVENTURE_CAD
  • ADVENTURE_TriPatch
  • ADVENTURE_TetMesh
  • ADVENTURE_BCtool
  • ADVENTURE_IO
  • ADVENTURE_Metis
  • ADVENTURE_Solid
  • ADVENTURE_POSTtool
基本的には、ADVENTURE_BaseSourcePackに入っているが、ADVENTURE_Solidのver2.0を使用したい場合には、別途、申請書を提出する必要がある様子。
個人利用でも受け付けてくれました。

3. OpenMPIのインストール

次のサイトを参考に、入れてみようかと。
transitive.info - Ubuntu 13.04 で OpenMPI を使ってみる

MPICHにする必要があるかもしれないから、経過は、追々。

------------------ 進捗まとめ ------------------
全体更新日:2013/05/11
状態:準備段階。進捗10%。
エントリーまとめ:
ADVENTUREを試す その0-0 前段
ADVENTUREを試す その0-1 準備
ADVENTUREを試す その1-1 インストール作業1
ADVENTUREを試す その2 計算例
------------------ 進捗まとめ ------------------

ADVENTUREを試す その0-0 前段

ADVENTURE PROJECTなるものがある。

設計用大規模計算力学システム開発プロジェクトとして、並列計算に対応したFEMソフトウェアを開発しているようだ。オープンソースということで、これを試してみようかと。プロジェクト詳細は下記リンクより。

ADVENTURE PROJECTへ

並列計算するようなクラスターを個人で持っている訳でもないので、ひとまず、お家のノートパソコンに入れてみて、4コアくらいの並列計算ができれば満足しようと思う。MPICHに対応しているとのことだが、試みにopenMPIを使ってみたいと思っている。上手くいかなければ、方向転換をすればいい。やろうとしているのが同ノード内での並列計算だから、そもそもMPIは必要ないのかもしれない。
とくかく、やってみる。

前段として、Ubuntu 13.04をインストールした。これも含め、今後のエントリー予定をまとめると次のようになる。

ADVENTUREを試す その0-1 準備
ADVENTUREを試す その1 インストール
ADVENTUREを試す その2 計算例

インストールが上手くいかないと、エントリーが分割されていくだろう。また、エントリーを読み進めて行った最後の最後で「できませんでした」なんてオチを披露するのは、悪い気がするので、下記のまとめを、徐々に更新していこう。

------------------ 進捗まとめ ------------------
全体更新日:2013/05/11
状態:準備段階。進捗10%。
エントリーまとめ:
ADVENTUREを試す その0-0 前段
ADVENTUREを試す その0-1 準備
ADVENTUREを試す その1-1 インストール作業1
ADVENTUREを試す その2 計算例
------------------ 進捗まとめ ------------------

一切、更新されないままだったら、超恥ずかしいな。