source releases installing downloads code gcc gmp mpfr mpc

releases - La construcción de GCC requiere GMP 4.2+, MPFR 2.3.1+ y MPC 0.8.0+



gcc source code (4)

Dentro del directorio gcc, haz este comando:

./contrib/download_prerequisites

Después de esa secuencia de comandos, GMP, MPFR y MPC estarán listos para usar. Continuar con ./configure .

Descargué GCC 4.5 de http://www.netgull.com/gcc/releases/gcc-4.5.0/ pero cuando intento configurar / construir estoy obteniendo el siguiente error:

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>

Las siguientes libs están presentes en los directorios respectivos

/usr/lib/libgmp.a /usr/lib64/libgmp.a /usr/lib/libmpfr.a /usr/lib64/libmpfr.a

No tengo la biblioteca libmpc.a instalada en ninguna parte de los cuadros.

Basado en el error, ¿cómo puedo saberlo?

a) ¿cuál es la versión actual de libgmp.a y libmpfr.a están instalados.

b) Si son de una versión incorrecta, ¿cómo puedo implementar mi propia versión sin alterar la versión actual?


En el directorio donde tengo esas bibliotecas instaladas ( /usr/gnu64/lib ), también tengo un archivo libgmp.la (y archivos libmpc.la y libmpfr.la ), que contienen texto legible. La información de la versión SO está ahí, pero eso no es lo mismo que la ''versión del producto''. En su lugar, habla sobre la compatibilidad del enlace.

Estaba tratando de investigar qué versión tenía, y la extraña solución que se me ocurrió fue ejecutar el GCC (4.6.1) que construí con la opción -v . En parte, dijo:

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.

Entonces, parece que tengo instalado GMP 5.0.2 (pero he construido GCC con 5.0.1), y MPFR 3.1.0 (pero he construido GCC con 3.0.0) y MPC 0.9 (pero he construido GCC con 0.8.2 ) La falta de coincidencia se debe a que traté de compilar e instalar GCC 4.6.2 y, presumiblemente, necesitaba las versiones más nuevas. (No tuve éxito, pero esa es una historia diferente).

/usr/gnu64/lib mis bibliotecas personalizadas en /usr/gnu64/lib , y luego le digo a GCC dónde encontrarlas con las opciones de configuración --with-mpfr=/usr/gnu64/lib , --with-gmp=/usr/gnu64/lib , --with-mpc=/usr/gnu/64/lib . Estas rutas están conectadas a GCC y funciona desde allí.


Tuve el mismo problema al compilar la rama GCC 4.9.

Para los sistemas basados ​​en Red Hat y Fedora , ejecute el siguiente comando:

sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

Esto instalará las bibliotecas de precisión múltiple (MP) de GNU para números enteros, coma flotante y complejos.


Tuve el mismo problema al intentar instalar / compilar GCC 4.8.1. Así es como lo resolví:

En Debian, simplemente ejecute estos dos comandos:

apt-get install libmpc-dev ./configure