[解決済み] GCCのビルドにはGMP 4.2+、MPFR 2.3.1+、MPC 0.8.0+が必要です。
質問
GCC 4.5を次のサイトからダウンロードしました。 http://www.netgull.com/gcc/releases/gcc-4.5.0/ からダウンロードしましたが、セットアップやビルドをしようとすると、以下のエラーが発生します。
Linux:>~/shared_scripts/bin/gcc/gcc-4.5.0 1040> /x/home/prakash_satya/shared_scripts/bin/gcc/gcc-4.5.0/configure CC="gcc -m64" --prefix=/x/home/prakash_satya/shared_scripts/bin/gcc/gcc-4.5.0 --with-gmp-lib=/usr/lib64 --with-mpfr-lib=/usr/lib64 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... gawk
checking for gcc... gcc -m64
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -m64 accepts -g... yes
checking for gcc -m64 option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gnatbind... no
checking for gnatmake... no
checking whether compiler driver understands Ada... no
checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2
checking for objdir... .libs
checking for the correct version of gmp.h... 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. 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.
Linux:>~/shared_scripts/bin/gcc/gcc-4.5.0 1041>
以下のライブラリは、それぞれのディレクトリにあります。
/usr/lib/libgmp.a
/usr/lib64/libgmp.a
/usr/lib/libmpfr.a
/usr/lib64/libmpfr.a
libmpc.aライブラリはboxのどこにもインストールされていません。
エラーに基づき、どのように私は知ることができます。
a) 現在インストールされている libgmp.a と libmpfr.a のバージョンは何ですか。
b) それらのバージョンが正しくない場合、現在のものを邪魔することなく、どのように私自身のバージョンを展開することができますか。
どのように解決するのですか?
これらのライブラリがインストールされているディレクトリで (
/usr/gnu64/lib
)、また、私は
libgmp.la
ファイル (そして
libmpc.la
と
libmpfr.la
ファイル)には、読みやすいテキストが含まれています。 SOのバージョン情報が入っていますが、これは「製品版」とはちょっと違います。 これは、代わりにリンクの互換性について教えてくれます。
私はどのバージョンか調査しようとして、私が思いついた奇妙な解決策は、ビルドした GCC (4.6.1) を
-v
オプションを使用することでした。 一部、こう書いてありました。
GNU C (GCC) version 4.6.1 (x86_64-apple-darwin11.1.0)
compiled by GNU C version 4.6.1, GMP version 5.0.1, MPFR version 3.0.0, MPC version 0.8.2
warning: GMP header version 5.0.1 differs from library version 5.0.2.
warning: MPFR header version 3.0.0 differs from library version 3.1.0.
warning: MPC header version 0.8.2 differs from library version 0.9.
GMP 5.0.2 (ただし GCC は 5.0.1 でビルド) と MPFR 3.1.0 (ただし GCC は 3.0.0 でビルド) と MPC 0.9 (ただし GCC は 0.8.2 でビルド) をインストールしているようです。 このミスマッチは、GCC 4.6.2をコンパイルしてインストールしようとしたところ、おそらく新しいバージョンが必要だったために起こったものです。 (私は成功しませんでしたが、それは別の話です)。
私はカスタムビルドライブラリを
/usr/gnu64/lib
にインストールし、GCCにconfigureオプションでそれらがどこにあるかを伝えます。
--with-mpfr=/usr/gnu64/lib
,
--with-gmp=/usr/gnu64/lib
,
--with-mpc=/usr/gnu/64/lib
. これらのパスはGCCにハード的に組み込まれ、そこから動作します。
関連
-
[解決済み】valgrindエラーの解釈 サイズ4の無効な書き込み
-
[解決済み】g++ output: file not recognized: ファイル形式が認識されない
-
[解決済み] シュール vs サール ... x86 アセンブリ gnu
-
[解決済み] 警告: 異なるサイズの整数への/からのポインタへのキャスト
-
C++コンパイルエラー:型に名前がない
-
[解決済み] LLVMとは何ですか?
-
[解決済み] GCCをGMP、MPFR、MPC、ELFでバラバラにインストールする方法、共有ライブラリは不要ですか?
-
[解決済み] Windows 7 マシンに gcc をインストールするには?
-
[解決済み] 一部のライブラリのみを静的にリンクする
-
[解決済み] rpathと-Lの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告:イニシャライザーの周りに中括弧がないことを修復する方法?
-
[解決済み】g++ output: file not recognized: ファイル形式が認識されない
-
[解決済み] コンパイル時に127のエラーが発生する。
-
C++コンパイルエラー:型に名前がない
-
configure: エラー: $PATH に受け入れ可能な C コンパイラがありません。
-
[解決済み] OSX 10.9にXcodeをインストール - clang: エラー: 入力ファイルがありません。
-
[解決済み】すべてのgcc警告を無効にする
-
[解決済み] どのフラグが -march=native で有効になるかを確認する方法は?
-
[解決済み] gcc -ggdbとgcc -gの違いは何ですか?
-
[解決済み] 変更されたヘッダーファイルを含むソースファイルをMakefileが自動的にリビルドするにはどうしたらいいですか?(C/C++の場合)