2012-02-15 7 views
12

Estoy instalando gcc 4.5.2 con mpc 0.8.2, mpfr 3.1.0 y gmp 5.0.2. Copié cada uno de los directorios mpc, mpfr y gmp en el directorio gcc-4.5.2 (quitando las etiquetas de versión). GCC se configura con éxito. Cuando ejecuto make, sin embargo, me sale:No se puede configurar gcc - mpfr no encontrado

checking for MPFR... no 
configure: error: libmpfr not found or uses a different ABI. 
make[1]: *** [configure-mpc] Error 1 
make[1]: leaving directory cross/build/gcc 
make: *** [all] Error 2 

MPFR se encuentra en cruz/src/gcc-4.5.2/MPFR. MPFR ya se construyó con éxito. ¿Alguien sabe por qué mpc no puede configurar?

Creo que el problema puede tener que ver parcialmente con los libs/headers para que MPFR esté en cross/src/gcc-4.5.2/mpfr/src y no en cross/src/gcc-4.5.2/mpfr. Todo lo que hice fue extraer y copiar: esta es la estructura de directorio predeterminada.

Respuesta

8

Encontré que si ejecutaba export C_INCLUDE_PATH=/cross/gcc-4.5.2/mpfr/src entonces export LD_LIBRARY_PATH=/cross/build-gcc-4.5.2/mpfr/src/.libs y finalmente export LIBRARY_PATH=$LD_LIBRARY_PATH todo funcionó como se esperaba.

La pregunta persistente es por qué los guiones de configuración propios de gcc configuran los indicadores incorrectos. Debería saber que las librerías de mpfr no están en mpfr/.libs, sino en mpfr/src/.libs, sin embargo, pasa la anterior a mpc/configure.

+0

tuve (y estoy teniendo) el mismo problema con la construcción de gcc en Windows con MinGW/MSYS. Exportar/configurar estas variables como se sugirió no ayudó en mi caso. ¿Es el momento y el orden correcto de establecerlos importantes, o hay algo más que pueda verificar? –

+0

No sé si LD_LIBRARY_PATH/LIBRARY_PATH/C_INCLUDE_PATH están marcadas en Windows. Podría intentar editar el archivo MAKE y agregar las opciones -I y -L a CFLAGS allí. –

+2

Esto cambió con MPFR 3.1 (la ubicación del encabezado) por lo que GCC usa la versión anterior. La versión más reciente no es estrictamente compatible, la [página de descargas de infraestructura de GCC] (http://mirrors-us.seosue.com/gcc/infrastructure/) todavía tiene la versión 2.4.2 en la lista. – rubenvb

27

Estaba teniendo el mismo problema. Pero parece que esto sucede porque la última versión de MPFR (en su caso 3.1.0) cambió la jerarquía del directorio.

En su lugar, antes de configurar, ejecute el siguiente cuando se está dentro del directorio de origen gcc (sólo puede funcionar para gcc4.5.2 o posterior):

./contrib/download_prerequisites 

Se descargará el MPFR necesario, GMP y versiones MPC (pero probablemente no las últimas versiones) y descomprimirlos para la instalación de gcc.

Después de eso, puede continuar con su configuración, realizar y realizar la instalación.

Espero que esto ayude.

-Rakib

+0

Awesome answer. Esto funciona genial No sabía que las libs se podían descargar automáticamente. –

+1

Si estás en un Mac reemplazar el "wget" comandos en el guión con "OL rizo" – gerardw

+1

gran respuesta, sin embargo no encontraron guión download_prerequisites en gcc 4.4, también lo hizo de forma manual – Denis

3

Prueba esto durante la configuración:

./configure --prefix=<DIR YOU WANT TO INSTALL GCC> \ 
--with-gmp=<DIRECTORY YOU INSTALLED GMP> \ 
--with-mpc=<MPC DIR> --with-mpfr=<MPFR DIR> 
3

que he tenido el mismo problema durante unas horas, pero resuelto en otro de otra manera.

He eliminado todas las carpetas antiguas como gcc-4. * Y gcc-build, porque había una configuración anterior dentro. Después de eso, revisé de nuevo con version-check.sh si todo estaba en el lugar correcto.

¡Utilicé Debian y me faltaba bison y gnu awk! Por qué lo que sea Instalé los dos nuevamente y comencé con la instalación de gcc. Ahora todo está bien.

Perhapse tiene un problam similar que se puede resolver de la misma manera. Tengo que verificar cada vez que inicio vbox y tal vez sea un problema con mi vbox-image, así que cuando inicio vbox ejecuto un control de versiones.

2

en lugar de --with-mpfr =, Utilicé --with-mpfr-lib = your-mprf-dir/lib (64?) --with-mpfr-include = your-mprf-dir/include.

Esto funciona para mí. PS: mprf-3.1.0 gmp-5.0.2 mpc-0.9

0

hay necesidad se puede tratar de esta manera:

./configure \ 
--with-gmp=/opt/install/local\ 
--with-mpfr=/opt/install/local \ 
--with-mpc=/opt/install/local \ 
--with-gmp-include=/opt/install/build/gmp-6.0.0 \ 
--with-mpfr-include=/opt/install/build/mpfr-3.1.2/src \ 
--with-mpc-include=/opt/install/build/mpc-1.0.2/src --enable-languages=c,c++ 
Cuestiones relacionadas