
前回(http://okwave.jp/kotaeru.php3?q=2361804)に続いてエラーで困っています。
バンド構造などをシミュレーションできるソフトPHASE ver. 4.00を下のサイトからダウンロードし、makeしようとしたのですが出来ません。
http://www.fsis.iis.u-tokyo.ac.jp/result/softwar …
OS Fedora Core 5 Linux
Fortranコンパイラ intel Fortran Compiler 9.0 for Linux
Cコンパイラ gcc
MPI mpich-1.2.7
PHASEはMPIを使ったFortranのプログラムで、オブジェクトファイルは作られたのですが、最後のリンクのところで下のようなエラーが出てしまいます。
/opt/intel/fc/9.0/lib/libifcore.a(for_open_proc.o): In function `for__compute_filename.':./src/libfor/for_open_proc.c:(.text+0xc14): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/opt/intel/mpich/lib/libmpich.a(p4_secure.o): In function `start_slave':p4_secure.c:(.text+0x80): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
この後に次のような/usr/lib/libc.a ... undefined reference to ...という形のエラーが43行あります。
/usr/lib/libc.a(iofclose.o):(.eh_frame+0x121): undefined reference to `__gcc_personality_v0'
/usr/lib/libc.a(iofflush.o): In function `fflush': undefined reference to `_Unwind_Resume'
どうやらglibcが関係しているような気がするのですが、自分ではどうすればよいのか分かりません。
エラーの意味とその対処法をお願いします。
No.1ベストアンサー
- 回答日時:
/opt/intel/fc/9.0/lib/libifcore.a(for_open_proc.o): In function `for__compute_filename.':./src/libfor/for_open_proc.c:(.text+0xc14): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
リンクのオプションで static の指定があるのではないでしょうか。最近の Linux では static にリンクしようとすると上記のメッセージがでますが、無視しても大丈夫です。
問題は、ndefined reference の方ですが、情報が少ないので憶測ですが、gcc を C のコンパイルに使っているのが問題なようなきがします。Intel の C コンパイラを PHASE のビルドに使うとどうなるでしょう?
この回答への補足
回答ありがとうございます。
遅くなりましたが、gccの代わりにiccを指定してPHASEをビルドしたところ、gccの場合と全く同じエラーが出ました。
iccを指定してもエラーの中にusr/lib/libc.aと`__gcc_personality_v0'という文字が入っている理由が分かりません。
makefileを見た限りlibc.aをリンクする指定はないのですが、libc.aというのはC言語関係の処理の際には自動的に参照されるものなのですか?その中でgccという特定のコンパイラの名前が入っているのも不思議です。
先に書いてませんでしたが、PHASEのソースはFortranのコンパイルの前にC言語プリプロセッサで前処理をするようになっており、そのC言語プリプロセッサとしてcppを指定しています。もしかしたらこれが関係しているかもしれないので、C言語プリプロセッサとしてcppの代わりにBorland C++ Compiler 5.5のcpp32を、Cコンパイラとしてgccの代わりにbcc32を使ってみようかなと思っています。
それにしても、PHASEだけが使うわけではないlibc.aが未定義のものを参照しているということは、LINUXのC言語開発環境なら当然あるべきものが不足しているということなのでしょうか…
Linux用のBorland C++ Compilerが存在しないようなので残念です。
Googleで"libc.a __gcc_personality_v0"と検索すると同様なエラーメッセージが沢山ありましたので、参考にしてみようと思います。
回答どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- VPN 何これ 1 2022/04/19 01:32
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- 英語 L-PRF can be obtained by manual or automated metho 1 2022/04/08 09:39
- FX・外国為替取引 1.The U.S. FI sells $100 million for pounds at the 1 2022/05/03 00:08
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUが16bitでも32bitOSでコンパ...
-
0除算して、落ちるプログラムと...
-
C++ で、「)」が必要 というエ...
-
コンパイラフラグ(compiler fla...
-
C++でアボート(Abort)で処理が...
-
io.hをincludeするとそのような...
-
pro*cにて
-
C/C++を使用する環境について
-
コンパイルできない
-
Delphiの逆コンパイル
-
変数(関数)名の頭に_
-
fortranでのNaNについて
-
Pythonで、C言語のモジュールを...
-
正しい五十音順について
-
C言語からのFortranプログラム...
-
65536は2の何乗なのでしょうか?
-
VBAにてメール作成した際、一部...
-
qsortの先頭のqの意味
-
VBAで仕様書は書きますか?
-
排他的論理和 BCC(水平パリテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++ で、「)」が必要 というエ...
-
0除算して、落ちるプログラムと...
-
C++でアボート(Abort)で処理が...
-
io.hをincludeするとそのような...
-
コンパイラについて
-
コンパイルできない
-
Delphiの逆コンパイル
-
Eclipseの環境設定について
-
変数(関数)名の頭に_
-
関数の戻り値による変数の初期化
-
Visual C++とVisual C++.NETの違い
-
初心者はIDE使わないほうが良く...
-
fortranでのNaNについて
-
コンパイラフラグ(compiler fla...
-
sprintfを用いたフォーマット文...
-
C言語のワーニングメッセージの...
-
非商用のインテルコンパイラ
-
ccコマンドの使い方
-
不要なインクルードファイルの検出
-
ABAQUS ユーザーサブルーチン...
おすすめ情報