土曜日, 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++*としてみたわけなのです。

0 件のコメント: