dポイントプレゼントキャンペーン実施中!

freeradius-1.1.7のmake時に以下のエラーらしきメッセージが表示されます。(Apache、PHP、MySQL をyumでインストール済みです。)
経験が浅いため、解決策を教えていただけないでしょうか?




/usr/lib/libltdl.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
gmake[4]: *** [radiusd] エラー 1
gmake[4]: ディレクトリ `/tmp/freeradius-1.1.7/src/main' から出ます
gmake[3]: *** [common] エラー 2
gmake[3]: ディレクトリ `/tmp/freeradius-1.1.7/src' から出ます
gmake[2]: *** [all] エラー 2
gmake[2]: ディレクトリ `/tmp/freeradius-1.1.7/src' から出ます
gmake[1]: *** [common] エラー 2
gmake[1]: ディレクトリ `/tmp/freeradius-1.1.7' から出ます
make: *** [all] エラー 2

A 回答 (2件)

freeradius が古いソフトで、使われている libtool が


x86_64 対応していないことが原因です。

LDFLAGS=-L/usr/lib64 ./configure

として、configure 時にライブラリパスを明示的に追加してみてください。
それが面倒ということであれば、

configure 時に生成する libtool スクリプトについて、
以下のコマンドで置換してから make してみてください。
(きれいなやり方ではないですが、こっちの方が確実かも)

perl -pi -e 's%^sys_lib_search_path_spec=.*%sys_lib_search_path_spec="/usr/local/lib64 /lib64 /usr/lib64"%' libtool
perl -pi -e 's%^sys_lib_dlsearch_path_spec=.*%sys_lib_dlsearch_path_spec="/lib64 /usr/lib64"%' libtool
    • good
    • 0
この回答へのお礼

LDFLAGS=-L/usr/lib64 ./configure で問題が解決しました。

大変、非常、ものすごく助かりました。ありがとうございました。

お礼日時:2009/11/24 13:41

could not read symbols


でググると OS が x86_64 の場合に出るエラーらしいことがわかるが
質問者の環境がわかりません。

> freeradius-1.1.7
> Apache、PHP、MySQL をyumでインストール済みです。
バージョンや関連しそうなパッケージのインストール方法まで書かれる
のはたいへん良いことなのですが、ここまで書いておいて
OS の情報がないのが残念。
前回、CentOS 5.3 と書いているがこの質問だけを見た人には
わかりません。
( http://oshiete1.goo.ne.jp/qa5463801.html )

# 私は情報の、「後出し」、「小出し」がきらいな人なので
# 他の親切な人の回答に期待してください。
    • good
    • 0
この回答へのお礼

必要な情報が抜けてしまい申し訳ありません。
CentOS5.3(x86_64)のサーバーで起きている問題です。

私なりに調べた結果、32ビット版の「libltdl.so」と、64ビット版の「libltdl.so」が存在していて、本来は64ビットの方を参照しなければいけないのに32ビットの方を参照しているのが問題のようです。

そこで、configureオプションに「--with-ltdl=builtin」を指定してconfigure、makeを実行しますが、状況は変わらず、同じメッセージが表示されてしまいす。

もしよろしければ、ご助言の程よろしくお願い致します。

お礼日時:2009/11/21 19:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!