これらは、ソリューションを使用して Ubuntu 12.04 で GCC 4.8.0 をコンパイルしているときに発生した問題です。
これはあなたを助けるかもしれません。
ubuntu 12.04 で GCC 4.8 をコンパイルするためのコンパイル ガイド
エラー 1
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. Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
http://gcc.gnu.org/install/prerequisites.html for additional info. If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files. They may be located in separate packages.
解決
- mpc にはより高いバージョンが必要なため、gmp バージョン >=4.3.2 パッケージをダウンロードしてインストールします。
- gmplib.org からソース コードをダウンロードします。
- ソースコードをコンパイルしてインストールする
- gmp のコンパイル中にエラー 2 がヘルプとして表示されます
- gmp バージョン 5.1.1 をインストール
- mpfr パッケージをダウンロードしてインストールする
- mpc パッケージをダウンロードしてインストールする
http://ftp.gnu.orgからパッケージをダウンロードします。
エラー 2
Error while compiling gmp library
checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin
解決
sudo apt-get install m4
http://ubuntuforums.org/showthread.php?t=850491
エラー 3
Cannot find g++ compiler
最近 OS をインストールし、コンパイラをインストールしていなかったため、このエラーが発生しました。
解決
sudo apt-get install build-essential
これにより、すべての標準ビルドに不可欠なソフトウェアがインストールされます
エラー 4
checking for i686-pc-linux-gnu-gcc... /home/suhastheju/projects/gcc/gcc-4.8.0/host-i686-pc-linux-gnu/gcc/xgcc -B/home/suhastheju/projects/gcc/gcc-4.8.0/host-i686-pc-linux-gnu/gcc/ -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -isystem /usr/local/i686-pc-linux-gnu/sys-include
checking for suffix of object files... configure: error: in `/home/suhastheju/projects/gcc/gcc-4.8.0/i686-pc-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/home/suhastheju/projects/gcc/gcc-4.8.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/suhastheju/projects/gcc/gcc-4.8.0'
make: *** [all] Error 2
解決
gcc のドキュメントでは が指定されていますが、–with-gmp および –with-mpfr フラグを使用して gmp および mpfr インストールのパスを提供できますが、残念ながら、パスを提供しようとしましたが、機能しませんでした。
これがビルド スクリプトのバグなのか他の何かなのかについて、私は最終的な言葉を言う立場にはありませんが、問題の解決策は次のとおりです。
ビルド中に、gmp および mpfr インストール パスを LD_LIBRARY_PATH 環境変数に追加します。次のように実行します export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
ライブラリが別のパスにある場合は、ライブラリが存在するパスを追加します
エラー 5
libbackend.a(tree-vect-data-refs.o):tree-vect-data-refs.c:(.text+0x87da): more undefined references to `vector_type_mode(tree_node const*)' follow
collect2: error: ld returned 1 exit status
make[3]: *** [cc1] Error 1
make[3]: Leaving directory `/home/suhastheju/projects/gcc/gcc-4.8.0/host-i686-pc-linux-gnu/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/suhastheju/projects/gcc/gcc-4.8.0'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/suhastheju/projects/gcc/gcc-4.8.0'
make: *** [all] Error 2
解決
ソースコードを最初から再コンパイルしたところ、魔法のように機能しました
make clean all
エラー 6
/home/suhastheju/projects/gcc/gcc-4.8.0/host-i686-pc-linux-gnu/gcc/../.././gcc/gcov.c:416: undefined reference to `gcc_init_libintl()'
collect2: ld returned 1 exit status
make[3]: *** [gcov] Error 1
make[3]: Leaving directory `/home/suhastheju/projects/gcc/gcc-4.8.0/host-i686-pc-linux-gnu/gcc'
解決
-I/usr/include を追加