カスタムディレクトリで、GCC 4.8.0 をより大きなシステムの一部としてコンパイルしようとすると。このサーバーには sudo 権限がないため、すべてをソースから構築しています。ただし、依存関係のある gmp、mpfr、および mpc を機能させることができません。構成を実行すると、次のようになります。
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations.
config.log は私に与えます:
configure:5619: checking for the correct version of the gmp/mpfr/mpc libraries
configure:5650: gcc -o conftest -g -O2 -Wno-error=unused-value -I$SRC/gmp/ -I$SRC/mpc/src/.libs -lmpc -lmpfr -lgmp >&5
/usr/bin/ld: cannot find -lmpc
collect2: ld returned 1 exit status
そのため、システム自体にインストールする権利がないため、mpfr、gmp、および mpc を入手して、ソースから手動でビルドしようとしました。ライブラリを取得するために ./contrib/download_prerequisites を実行しました。構成を再度実行しましたが、同じエラーが発生しました。だから私もそれらをコンパイルし、私のgccディレクトリで私はやった:
cd mpfr; ./configure; make
cd ../gmp; ./configure; make
cd ../mpc; ./configure --with-mpfr-include=$SRC/mpfr --with-mpfr-lib=$SRC/mpfr/.libs/ --with-gmp=$SRC/gmp; make; cd ..
--with-mpfr を使用するだけでは、何らかの理由で機能しないことに注意してください。
cd $SRC/build
../configure \
--build=x86_64-linux-gnu \
CC=gcc \
CFLAGS='-g -O2 -Wno-error=unused-value' \
--disable-bootstrap --enable-checking=none \
--disable-multi-arch --disable-multilib \
--enable-languages=c,c++ \
--with-gmp-lib=$SRC/gmp/.libs \
--with-gmp-include=$SRC/gmp/ \
--with-mpc-include=$SRC/mpc/src \
--with-mpc=$SRC/mpc \
--with-mpfr-lib=$SRC/mpfr/.libs \
--with-mpfr-include=$SRC/mpfr \
--prefix=$SRC/prefix
$SRC は私の gcc ディレクトリです。ただし、最後のコマンドで、build/config.log に次のエラーが記録されました。
gcc -o conftest -g -O2 -Wno-error=unused-value -I$SRC/gmp/ -I$SRC/mpfr -I$SRC/mpc/src conftest.c -L$SRC/gmp/.libs -L$SRC/mpfr/.libs -L$SRC/mpc/lib -lmpc -lmpfr -lgmp >&5
/usr/bin/ld: cannot find -lmpc
collect2: ld returned 1 exit status
make mpc を実行した後、lib ディレクトリや、共有オブジェクト ファイルを含むものがないことは明らかです。そのため、gcc を mpc ライブラリとリンクする方法がわかりません。
私が何をすべきか知っている人はいますか?