¿Qué causa el error ‘El compilador Fortran no puede crear ejecutables’ durante la instalación de Quantum Espresso?

Quantum Espresso se construye utilizando el sistema de compilación GNU, por lo que la distribución del programa fuente contiene un script llamado ‘configure’. Intenta detectar qué compiladores ha instalado, usándolos para compilar y ejecutar pequeños programas de prueba antes de intentar construir QE.

Este script se detiene con el mensaje configure: error: Fortran compiler cannot create executables si

  1. no tienes instalado ningún compilador utilizable de Fortran,
  2. ‘configure’ se ejecuta en un entorno donde el compilador Fortran no funciona correctamente, o
  3. Su compilador Fortran se instaló en un lugar inusual, por lo que la detección automática falla.

El caso 1 se soluciona obteniendo un compilador Fortran. gfortran funcionará, o si quieres gastar dinero en uno más elegante, ifort hace el trabajo. También deberías poder usar PGI Fortran, pero no lo he intentado yo mismo.

El caso 2 es algo poco probable, pero puede suceder si tiene, por ejemplo, un compilador que vincula dinámicamente el binario resultante a una biblioteca en tiempo de ejecución almacenada en una ubicación diferente de los valores predeterminados comunes del sistema. Si esto sucediera, necesitará ajustar el contenido de la variable de entorno LD_LIBRARY_PATH, para que el cargador del programa pueda encontrar la biblioteca relevante. Puede probarlo en su entorno sin ejecutar ‘configure’, al intentar compilar y ejecutar un programa Fortran simple usted mismo: aquí hay un código mínimo de ‘Hola, mundo’ que puede probar, si no se siente cómodo escribiendo el suyo propio:

PROGRAM hello
PRINT *,"Hello, world!"
END PROGRAM

El caso 3 se soluciona nombrando explícitamente los compiladores y la configuración que desea utilizar en las variables de entorno

  • FC (compilador Fortran) ,
  • FCFLAGS (banderas del compilador Fortran) ,
  • F77 (compilador FORTRAN77, si es diferente de la opción FC) , y
  • FFLAGS (banderas del compilador FORTRAN77) .

El contenido de estas variables es lo que ‘configurar’ intenta descifrar automáticamente, pero si las configura manualmente, usará sus opciones en lugar de intentar detectar algo de su propia invención.

Nada de lo anterior es diferente de cómo se comportan los scripts de ‘configuración’ generados por automake con otras fuentes de programa que Quantum Espresso, pero supongo que podría sobresalir un poco debido a que contiene grandes secciones de código Fortran y, por lo tanto, requiere un compilador que de lo contrario puede No usar muy a menudo.

Dado que la pregunta no dice qué versión de QE construir, también es posible que algo completamente diferente sea el problema, pero puedo verificar que ni Quantum Espresso 4.3 ni 5.1.1 requieran algo más allá de lo anterior, al menos hasta ahora como van los compiladores de Fortran.

También es posible que desee compilarlo con soporte para varias bibliotecas externas, por lo que le sugiero que consulte el resultado de ./configure --help , para revisar todas sus opciones.

Sería útil más información, especialmente porque mi bola de cristal está un poco inestable en este momento …

Supongo que está intentando hacer una instalación clásica de estilo Unix desde el código fuente a través de ‘make’.

Esta no es una instalación binaria a la venta de Windows o Linux. En realidad estás vinculando y compilando el programa. Por lo general, se incluyen scripts / macros que automatizarán gran parte del proceso, incluida la copia de los archivos resultantes en los lugares del sistema de archivos donde deben ir.

Una cosa que hacen esos scripts es verificar si tiene disponible todo lo que necesita para compilar con éxito la aplicación.

El error particular que menciona es muy probable que sea causado por el script que comprueba este descubrimiento al descubrir que no puede compilar un programa de prueba pequeño (piense ‘hola mundo’) o que la compilación falla realmente. Esta falla particular podría ser causada por el usuario con el que está ejecutando esto, ya que no se le permite escribir en el directorio en el que está compilando esto, no tiene un compilador de trabajo en su sistema o muchas otras cosas.

La instalación directa de programas que compiló usted mismo generalmente no es una muy buena idea en los sistemas Linux modernos, ya que la administración de paquetes no estará al tanto de esas instalaciones y podría dañarlas inadvertidamente. En un sistema basado en Debian como Ubuntu, la creación de un archivo .deb desde la fuente e instalación es la forma recomendada.

Hay herramientas bastante cómodas para eso, sin embargo, deberías buscarlas tú mismo.

Sin embargo, para el espresso cuántico, hay paquetes en el repositorio del ‘universo’ para 12.04 y 14.04. Si no está familiarizado con la compilación e instalación de programas desde la fuente (o necesita una versión de vanguardia), le recomiendo encarecidamente usarlos: debería poder instalarlos a través de ‘aptitude install quantum-espresso quantum-espresso-data’ (sin las comillas) en la línea de comando, synaptic o en el ‘centro de software’.

Quantum espresso ahora está disponible en un contenedor Docker. Por lo tanto, instalado Docker en Linux, Windows o Mac, solo necesita ejecutar la imagen Docker que está disponible en Dockerhub:

docker run -d rinnocente / qe-full-6.0

Más información en http://hub.docker.com/r/rinnocen

Compruebe que ha instalado Xcode correctamente, junto con las líneas de comando. Tengo el mismo problema que tú hasta que abrí Xcode y, para mi sorpresa, vi que no se había instalado por completo debido a alguna actualización en la que había incurrido.