Pregunta

Pasé todo el día configurando GCC según

http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

En el paso de GCC, me dijo que necesitaba un compilador C ++ para continuar por cualquier razón, así que actualicé a Cygwin de la manera habitual y obtuve GCC-C ++.

Después de eso, cgywin me hizo la cortesía de eliminar las 3 librerías prereq que había instalado previamente,

Entonces comencé a rehacerlos.GMP funcionó bien y luego llegué a MPFR.Por alguna razón, MPFR arroja este error:

configure: error: libgmp not found or uses a different ABI.

Los recursos mencionan este error. aquí.

Estoy bastante seguro de que está encontrando GMP correctamente, ya que cygcheck muestra que no hay problema y la configuración incluso menciona que lo encuentra.

Cuando lo intento:

./configure --with-gmp-build=/gmp/,

arroja:

error: header files gmp-impl.h and longlong.h not found

Hasta ahora no he podido hacer funcionar MPFR, a pesar de buscar en Google e intentarlo durante horas.

MPC tampoco logra encontrar GMP de la manera habitual.

También intenté simplemente entregar las bibliotecas a GCC en un subdirectorio y dejar que las compile.

Cuando intento eso, llega al paso de creación y luego lanza un stage1-bubble error y falla.No hay descripción del error ni nada.

No tengo idea de qué más probar.

¿Fue útil?

Solución

Sé que esta publicación está un poco anticuada, pero estaba buscando una respuesta o resultados a una situación similar pero con versiones mucho más actuales de las mismas bibliotecas.Mientras leía esta publicación y buscaba algunas sugerencias y otro material en línea, pude reconstruir todo.Entonces, para cualquiera que esté trabajando con las versiones más recientes, aquí va:


En primer lugar, probablemente desee configurar, crear e instalar GMP primero para C y C++ como bibliotecas estáticas;Tome nota también de la arquitectura x86 o x64.Una vez que ejecute make, make check, make install;y estás seguro de que no tienes errores, entonces cuando vayas a configurar MPFR querrás ejecutarlo así:

./configure --with-gmp-build=/path/to/gmp --enable-static --disable-shared

y si las rutas están configuradas correctamente, esto debería proporcionarle el archivo make generado necesario.


Soy nuevo en los entornos y comandos Unix-Posix y nuevo en Cygwin.He usado principalmente plataformas Windows y muy pocas Mac o Apple.De hecho, solo he estado trabajando en esto por poco menos de una semana porque estoy tratando de hacer lo mismo.Así que ahora me estoy aventurando en un mundo completamente nuevo de Unix...pero es una especie de simulación a través de Cygwin ya que todavía estoy ejecutando Windows.

Estoy intentando crear GMP, MPIR, MPFR y MPFRC++, todos a partir de las últimas distribuciones originales y, eventualmente, intentaré integrarlos en Visual Studio 2017.

De hecho, encontré esta publicación porque pude construir MPIR a través de Visual Studio con la ayuda de Python y Vyasm, pero en cuanto a GMP, necesitaba Cygwin con GCC.Me tomó un poco de tiempo descubrir cómo hacer que GMP se compilara correctamente, pero una vez que lo hice y ejecuté las pruebas, pude pasar todas con 0 fallas.Luego comencé a trabajar con MPFR al igual que tú.

Mi problema similar fue que después de ejecutar ./configure como predeterminado, me daba el mensaje de que no se encontró libgmp.Además, si intentara llamar a make, no haría nada ya que el archivo make no existía.Esto me llevó de nuevo a hacer búsquedas en Google...Mientras busca consejos, sugerencias, etc.Me encontré con esta pregunta y respuesta.Mientras leía estas preguntas y respuestas, los archivos de instalación, algunas otras preguntas frecuentes e incluso otro sitio web, pude reconstruir todo y lo que encontré que funciona es lo que sugerí anteriormente.

No solo necesita configurar el indicador --with-gmp-build, sino que también debe configurar los tipos de biblioteca apropiados con los que se creó gmp y debe asegurarse de que los tipos de arquitectura coincidan también.Deben tener los mismos ABI coincidentes.


Ah, justo cuando estaba a punto de terminar de escribir esta respuesta, verifiqué que acababa de terminar de ejecutar Cygwin y obtuve el resultado de:

Testsuite summary for MPFR 4.0.1
============================================================================
# TOTAL: 180
# PASS:  180
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

Espero que esto te ayude.Lo único es para mí;Tendré que regresar y probablemente ejecutar todo esto nuevamente desde el principio, incluido GMP, solo porque creo que solo hice GCC y no G++ y mi próximo paso es intentar compilar MPFRC++.

Entonces podría intentar hacer algunas bibliotecas relacionadas desde aquí después.Mi primera fase es intentar construirlos todos a través de Cygwin y GCC/G++.El siguiente paso será intentar trasladarlos a Visual Studio 2017.

Otros consejos

Después de compilar e instalar gmp, tuve el mismo problema al compilar mpfr hasta que configuré correctamente la ruta de búsqueda de la biblioteca:

export LD_LIBRARY_PATH=/usr/local/lib
export LIBRARY_PATH=/usr/local/lib
export CPATH=/usr/local/include

como se explica en el http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

En lugar de esto:

./configure --with-gmp-build=/gmp/

UTILIZAR ESTA:

./configure --with-gmp-build=/gmp

No le gusta tener el "/" al final.

Es posible que desee utilizar --with-gmp-lib=/path/to/gmp/lib/dir

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top