• ベストアンサー

Radiusのmake時に表示されるエラーの解決策を教えて頂けないでしょうか?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.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

tomatomo11
質問者

お礼

LDFLAGS=-L/usr/lib64 ./configure で問題が解決しました。 大変、非常、ものすごく助かりました。ありがとうございました。

その他の回答 (1)

  • umota
  • ベストアンサー率46% (150/324)
回答No.1

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 ) # 私は情報の、「後出し」、「小出し」がきらいな人なので # 他の親切な人の回答に期待してください。

tomatomo11
質問者

お礼

必要な情報が抜けてしまい申し訳ありません。 CentOS5.3(x86_64)のサーバーで起きている問題です。 私なりに調べた結果、32ビット版の「libltdl.so」と、64ビット版の「libltdl.so」が存在していて、本来は64ビットの方を参照しなければいけないのに32ビットの方を参照しているのが問題のようです。 そこで、configureオプションに「--with-ltdl=builtin」を指定してconfigure、makeを実行しますが、状況は変わらず、同じメッセージが表示されてしまいす。 もしよろしければ、ご助言の程よろしくお願い致します。

関連するQ&A