日曜日, 11月 30, 2008

64bit化 その4

昨日に引き続き作業。

上手くいかない。。。

エラーメッセージの内容は

Can't locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/local/lib64/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .).
BEGIN failed--compilation aborted.
In file included from mpfc_wrap.cpp:25:
mpfc_wrap.cpp1:442: error: expected unqualified-id before string constant
mpfc_wrap.cpp1:443: error: expected initializer before ‘*’ token
mpfc_wrap.cpp1:448: error: ‘SwigPerlWrapperPtr’ does not name a type
In file included from mpfc_wrap.cpp:25:
mpfc_wrap.cpp1:37044: error: too many initializers for ‘swig_command_info’


↑のエラーメッセージが多数出力され、その後

mpfc_wrap.cpp1:37051: 警告: ‘current_interpreter’ initialized and declared ‘extern’
mpfc_wrap.cpp1: In function ‘void boot_mpfc_perl(PerlInterpreter*, CV*)’:
mpfc_wrap.cpp1:37071: error: ‘struct swig_command_info’ has no member named ‘wrapper’
mpfc_wrap.cpp1:37055: 警告: unused variable ‘items’
mpfc_wrap.cpp1: At global scope:
mpfc_wrap.cpp1:175: 警告: ‘swig_type_info* SWIG_TypeDynamicCast(swig_type_info*, void**)’ defined but not used
mpfc_wrap.cpp1:188: 警告: ‘swig_type_info* SWIG_TypeQuery(const char*)’ defined but not used
mpfc_wrap.cpp1:717: 警告: ‘int swig_magic_readonly(PerlInterpreter*, SV*, MAGIC*)’ defined but not used
make[1]: *** [mpfc_wrap.o] エラー 1

となる。原因を考える気にもなれない。眠い。。。

土曜日, 11月 29, 2008

64bit化 その3

今週も帰ってきました。そして作業中。

今回はWideStudioのインストールに大苦戦。

ライブラリやらヘッダーファイルやらの在り処(ディレクトリ構成)がまったく違うのが原因。

とりあえずmakefile中で

/usr/X11R6/lib--->/usr/lib64

/usr/X11R6/include--->/usr/include

の変更をしてコンパイルをしてみている。

現在はws-V3.98-1/src/perllib/でmakeをしているが、

EXTERN.h, perl.hがないと怒られている。

そこで以下のコマンドを実行

(http://fleur.hio.jp/perldoc/perl/5.8.8/pod/perlembed.pair.htmlを参考にしてみた)。

perl -MConfig -e 'print $Config{archlib}'

すると

/usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi

を返してきた。そこに"CORE"というディレクトリがあり、その下に

EXTERN.h, perlh

があるのでコンパイルオプションに

-I/usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/

を追加。でもまだ

Can't locate ExtUtils/embed.pm in @INC ...

という長ーいメッセージが。今日はここまでか。。。。。

日曜日, 11月 16, 2008

64bit化 その2

昨日に続き作業中。

可視化用プログラムのコンパイルで大苦戦。

エラー内容は以下の通り。

ld: ./a.out: hidden symbol '_svml_sincosf4' in /opt/intel/Compiler/11.0/069/lib/intel64/libsvml.a(svml_ssincos4.o) is referenced by DSO
ld: final link failed: Nonrepresentable section on output

解決方法は、コンパイル時のオプションに

-L/opt/intel/Compiler/11.0/069/lib/intel64/ -lsvml

を加えること。分かってしまえば何てことはないのですが、解決するのに膨大な時間を使ってしまった。

土曜日, 11月 15, 2008

64bit化 その1

実家のPCが最新デスクトップに変わりました。

CPUがCore2 Duo。ということでCFDソフトの64bit化がしたくなったので

先週から(2週連続で実家に帰って)作業をしています。

今日の午後いっぱいを使ってやっとインテルFortranコンパイラーのインストールが完了。

まず入手できるHPが変わっているようなので注意。

http://www.intel.comに行き、

Work

という部分をクリック。続いて

Software

という部分をクリック。さらに

Compilers

をクリック。Linuxで動かすので

Linux*

をクリック。非商用版ならば無期限なので、ページ右側にある

Free Non-Commercial Download

と書かれたタブをクリック。

Accept

と書かれたタブをクリックすれば、コンパイラ一覧が表示される。

Intel Fortran Compiler Professional Edition for Linux

をクリックして、メールアドレス、国/地域を記入して送信すれば、メールが送られて来て

ダウンロードページに行けますし、シリアルナンバーも書かれています。

一番苦労したのはインストール後、実際コンパイルを実行した時の次のエラー。

/opt/intel/Compiler/11.0/069/bin/intel64/fortcom: error while loading shared libraries:
libstdc++.so.5: cannot open shared object file: No such file or directory
ifort: error #10273 /opt/intel/Compiler/11.0/069/bin/intel64/fortcom の致命的な
エラー、0x7fで終了しました。

解決法を先に書きますと、まず

yum provides libstdc++*

を実行します。これでlibstdc++*が含まれるパッケージの一覧を表示してくれるようで

(私もいろいろネットで調べて、こうすればいいんじゃないかと手当たり次第やったのでよく分かってません)

その中にx86_64用らしいcompat-libstdc++-33.x86_64というのがありましたので

yum install compat-libstdc++-33.x86_64

を実行したところ解決しました。

順を追って書きますと、最初は

yum provides libstdc++.so.5

を実行したのです。そうすると

compat-libstdc++-33.i386

しか表示してくれないのです。明らかに32bit用なのですが、

当然これをインストールしても解決しません。

というかもともと/usr/lib/にはlibstdc++.so.5はあるんですよね。

それで/usr/lib64/にはlibstdc++so.6だけしかない。

なので上記のようにlibstdc++*としてみたわけなのです。

金曜日, 11月 07, 2008

落選

東京マラソンの抽選に落ちました。残念。

でも週一でのジョギングは継続したいです。

まあ、もともとはバスケのための体力づくりだったのだけど。

何か目標を作らないと続かないたちなので。

土曜日, 11月 01, 2008

また久々の投稿

生きてます。

久々にログインしたついでに投稿。

1次元TCUP法が一応完成(コンパイルは通った)。

2相流が解けるという触れ込みの手法。

ただし物性値をどう与えるかが難しい。

粘性率とかジュールトムソン係数とか初めて扱うので。

でも理想流体の場合は考えていなかった物理を扱えるので、

ちゃんと完成したら楽しそうだ。