プロが教える店舗&オフィスのセキュリティ対策術

下の『libintlの入手方法を教えてください。 』で回答者の方から、libiconvの機能はglibcで提供されていると教えていただいたので、--with-iconv-dir=DIRオプションをつけずにPHPをビルドしようとしましたが、
 undefined reference to `libiconv'
 undefined reference to `libiconv_open'
 undefined reference to `libiconv_close'
というエラーが出てビルドできません。

一度、libiconvをインストールしてしまっていたので、これを削除して、さらに、glibc-headers-2.4-4.i386.rpmとglibc-devel-2.4-4.i386.rpmを強制的に入れなおしても状況は改善しませんでした。

やはり、libiconvを使わないといけないのでしょうか?

※ちなみに、libconvを使うようにしても同じエラーがでまして、Makefileに-liconvを追加して凌ぐことはできましたが、あまり美しくないかなと思っています。

どうか宜しくご教示願います。

A 回答 (1件)

自己レスです。



configureスクリプトを精査したところ、原因がわかりました。

glibcを使うかlibiconvを使うかの判定処理が2系統あるのですが、一方がiconv.hをサーチして判定する処理になっており、しかも/usr/local/includeが最初にサーチされるようになっていました。で。ここに、libiconvと一緒にインストールされたiconv.hが残ってたんですね(笑)。

つまり、/usr/local/include/iconv.hを削除することで誤判定がなくなり、見事解決しました。

大変お騒がせしました。
    • good
    • 0

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