- ベストアンサー
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
- みんなの回答 (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
その他の回答 (1)
- umota
- ベストアンサー率46% (150/324)
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 ) # 私は情報の、「後出し」、「小出し」がきらいな人なので # 他の親切な人の回答に期待してください。
お礼
必要な情報が抜けてしまい申し訳ありません。 CentOS5.3(x86_64)のサーバーで起きている問題です。 私なりに調べた結果、32ビット版の「libltdl.so」と、64ビット版の「libltdl.so」が存在していて、本来は64ビットの方を参照しなければいけないのに32ビットの方を参照しているのが問題のようです。 そこで、configureオプションに「--with-ltdl=builtin」を指定してconfigure、makeを実行しますが、状況は変わらず、同じメッセージが表示されてしまいす。 もしよろしければ、ご助言の程よろしくお願い致します。
お礼
LDFLAGS=-L/usr/lib64 ./configure で問題が解決しました。 大変、非常、ものすごく助かりました。ありがとうございました。