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
- no tienes instalado ningún compilador utilizable de Fortran,
- ‘configure’ se ejecuta en un entorno donde el compilador Fortran no funciona correctamente, o
- 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.
- ¿Cuál es la composición, además de orbital, de los depósitos atómicos? ¿Es solo aire / energía? ¿Es penetrable?
- ¿Es posible que un átomo, y posteriormente un elemento, no tenga protones en el núcleo?
- ¿Cuál es la diferencia entre el subshell [math] d_ {x ^ 2-y ^ 2} [/ math] y [math] d_ {xy} [/ math]?
- ¿Qué impide que una estrella de neutrones colapse en un agujero negro?
- ¿Por qué las partículas lentas atraviesan cristales más densos, en lugar de difractarse?
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.