• ベストアンサー

MPFRのインストールができない

LedHatLinux5.2です。 mySQL5.1.31をインストールするためにMPFRが要求されています。 MPFRをインストールしようとしたところ・・・ configureの途中で警告が出ています。その後makeすると make: *** '../mpfr-2.4.0/Makefile.in'に必要なターゲット'@MAINTAINER_MODE_TRUE@'をmakeするルールがありません。 と出ます。 警告の中身は 'gmp.h' and 'libgmp' seems to have different versions or we cannot run a program linked with GMP (if you cannot see the version numbers above). However since we can't use 'libtool' inside the configure, we can't be sure. See 'config.log' for details. です。 config.logを見たのですがよく分かりませんでした。 gmpはアンインストールしてから入れ直したのでgmp.hとlibgmpのバージョンは同じだと思います。 対処法が分かる方おられましたらよろしくお願いします。

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

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.4

まず、libtool や automake、autoconf などをインストールする必要はありません。さらに、gmp をソースコードからインストールするのに既存のパッケージを削除する必要も全くありません。(特別な設定をしなければ /usr/local にインストールされている物が /lib や /usr/lib にインストールされる物よりも優先的に使われます) ところで、ソースコードは公式に配布されている物を DL しましたか? http://www.mpfr.org/mpfr-2.4.0/ このことは非常に大事です。 > 警告の中身は > 'gmp.h' and 'libgmp' seems to have different versions or > we cannot run a program linked with GMP (if you cannot > see the version numbers above). > However since we can't use 'libtool' inside the configure, > we can't be sure. See 'config.log' for details. > です。 ヘッダファイルはソースコードからインストールした物を、ライブラリは既存の物を見つけたか何も見つけられなかったのでしょう。 原因は環境変数 LD_LIBRARY_PATH を設定していないことが考えられます。 gmp を /usr/local にインストールしたのであれば、mpfr の configure は % LD_LIBRARY_PATH=/usr/local/lib ./configure ... としなければいけません。 > make: *** '../mpfr-2.4.0/Makefile.in'に必要なターゲット > '@MAINTAINER_MODE_TRUE@'をmakeするルールがありません。 config.status を開いて、「MAINTAINER_MODE_TRUE」を探してみてください。何に置換するようになっていますか? 正常であれば「#」か「」に置換するようになっていると思います。(MAINTAINER_MODE_TRUE と MAINTAINER_MODE_FALSE のどちらかが「#」になる)

52966925
質問者

お礼

ありがとうございます! ソースコードが公式に配布されているものでなかったようで、教えていただいた所からダウンロードし、無事インストールできました! ちなみにインストールできなかった方のconfig.statusを見たのですが「MAINTAINER_MODE_TRUE」がありませんでした。それでエラーが出ていたのかもしれません。 ソースコードをダウンロードしてくる場所は重要なんですね。勉強になりました。

その他の回答 (3)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

>RPMのGMPをアンインストールしてソースから入れ直しました。 うーん・・・、オフィシャルなRPMパッケージが提供されているものは、よほどのことがなければ、それを使うのがいいと思います。ひょっとして、他にも色々ソースからインストールしたりしてますか?もしそうなら、それが原因で開発環境に不整合が起きているのかも。 一方、そのようなことが無いとしても、libtoolすら入っていなかったということは、他にも何か不足しているパッケージがあるのかもしれません。 mpfrは、特に複雑な依存関係を持つパッケージのようには思えませんし、52966925さんの環境に何が足りないのかは、これ以上思い当たりませんが、一度次のようにして開発環境一式を導入してみてはいかがでしょうか? yum groupinstall "Development Tools"

52966925
質問者

お礼

ありがとうございます。yumコマンドは使えないんです・・・。 開発環境を見直してみます。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

追加情報 警告メッセージで「libtoolが使えなかったんで良くわからん」とか言われて ますから、まずは、libtool をインストールしてみてください。 # yum install libtool 手元の環境で、libtool を削除してみたら、同じ警告メッセージが出ました。 (それでも、コンパイルはできましたが・・・)

52966925
質問者

お礼

ありがとうございます! 1回目のご指摘の通り、GMPがソースからのものとRPM由来のもので混在していました。 RPMのGMPをアンインストールしてソースから入れ直しました。そしてlibtoolも入れたのですが、まだmakeのところで make: *** `aclocal.m4'に必要なターゲット`@MAINTAINER_MODE_TRUE@'をmakeするルールがありません。 とのエラーが出ます。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

RHEL互換のCentOS-5.2で試してみました。 まず、 ・gmp, gmp-devel は標準のRPMパッケージ(4.1.4-10.el5)を利用。 ・MPFRは、http://www.mpfr.org/ から 2.4.1 をダウンロード という条件で、問題なくコンパイルできました。次に、 ・gmp, gmp-devel のRPMパッケージをアンインストール ・gmp-4.2.4 をコンパイル、インストール これでも問題なく、mpfr-2.4.1 がコンパイルできました。 ソースから入れたgmpとRPM由来のファイルが混在しちゃってるの かもしれませんね。 # rpm -q gmp # rpm -q gmp-devel # find / -name "*gmp*" とかやって、状況を調査してみると良いかもしれません。 ご参考まで

関連するQ&A