4

CentOS で最新 (これを書いている時点) の GCC バージョンをビルドしようとしています。GMP、MPFR、MPC をダウンロードしてビルドしました。これらのライブラリは、/usr/local (つまり、ライブラリの場合は usr/local/lib、インクルードの場合は /usr/local/include) の下にあります。今、次のコマンドでビルドするように GCC を構成しようとしています。

./configure --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local

そして、次のエラーメッセージが表示されます。

checking for the correct version of gmp.h... yes
checking for the correct version of mpfr.h... yes
checking for the correct version of mpc.h... yes
checking for the correct version of the gmp/mpfr/mpc libraries... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations.

その理由は何ですか?ライブラリはビルドされ、場所は正しく、ヘッダー ファイルは認識されますが、ライブラリ自体は認識されません。私もこれを試しました:

./configure --with-gmp-lib=/usr/local/lib \
--with-mpfr-lib=/usr/local/lib --with-mpc-lib=/usr/local/lib

しかし、結果は同じです。

4

3 に答える 3

5

GCC SRC(http://www.gnu.org/software/gsrc/)の使用を強くお勧めします

最初にPythonとbzrをインストールする必要があります。

次に、構成後(gsrc Webページの手順)、gsrcディレクトリでこれらを実行します。

make -C gnu / gcc
make -C gnu / gcc install

于 2012-12-27T04:12:23.703 に答える
1

ありがとう、私は自分自身を調べました。問題は、CentOS 6 に古いバージョンの GMP/MPFR/MPC がプリインストールされていて、新しくビルドしたライブラリと競合することです。

于 2012-09-25T20:14:34.917 に答える
0

誰かがそれを行うためのスクリプトを作成しました。これらのライブラリに対するライブラリの依存関係と、それらの間の依存関係の問題に対処します。 http://joelinoff.com/blog/?p=811

いくつかの小さな変更でうまくいきましたが、結果のgccには奇抜なリンクパスがあります(古いライブラリを含む通常のシステムパスでlibstdc ++.soを探すバイナリを生成します。これについて質問があります:

組み込みの rpath を使用して gcc をビルドおよびインストールする方法は?

于 2012-11-11T18:54:28.657 に答える