2009-07-24 23 views
11

Necesito un compilador para Fortran 77 en Linux.¿Cómo compilar los archivos Fortran 77 en Linux?

¿Existen compiladores gratuitos que la gente usa?

He oído hablar de g77, pero no puedo encontrar las rpm o cómo instalarlo en Linux.

Gracias!

+0

¿Qué distribución? Puede compilar gcc desde las fuentes, por supuesto, pero hay mejores formas ... – EFraim

+0

estoy usando redhat 4.1.2 – chris

+0

Vea a continuación: el paquete en RedHat 4.1.2 es diferente que en Fedora. – quark

Respuesta

20

El nombre del compilador de Fortran de GCC ha cambiado: g77 ha sido reemplazado por gfortran, que maneja Fortran 95 y posiblemente variantes más recientes.

El paquete en Ubuntu se llama gfortran:

sudo apt-get install gfortran 

(o utilice sináptica)

El paquete en Fedora se llama gfortran y es parte de gcc, que es probable que ya tiene:

sudo yum install gcc 

(o use pirut)

Búsquedas similares trabaje para su distribución también.

Actualización: En RedHat 4.1.2 el paquete parece llamarse gcc4-gfortran. Por cierto, usted debería ser capaz de buscar esto con yum, y que puede ser la mejor respuesta a su pregunta:

yum search "*fortran*" 
+0

tengo redhat. Probé "sudo yum install g77" y también gfortran, pero dice que no hay ningún paquete disponible g77/gfortran. ¿Lo estoy haciendo mal? – chris

+0

No se llama g77 por una cosa. Hice una búsqueda en Google de "Redhat 4.1.2 gfortran". El paquete aparentemente se llama "gcc4-gfortran". Actualizando la respuesta. – quark

+0

g77 no se renombra gfortran. Esos no son lo mismo. –

0

Los medios para instalar el software son específicos de la distribución. Por ejemplo, en Ubuntu9, patearía Synaptic y buscaría Fortran o g77 (también se puede usar apt-get).

Las otras distribuciones que conozco poco aunque he oído hablar de yum y yast para (creo, pero no estoy seguro) RedHat y Suse.

Si no está disponible a través de su instalador paquete estándar, que tendrá que encontrar otra solución, como por ejemplo:

  • utilizando un Fortran diferente; o
  • construyéndolo desde la fuente.

Ese segundo método suena ominoso pero en realidad no lo es (salvo garantizar las dependencias correctas). El proceso de configuración/creación/instalación que siguen la mayoría de los paquetes fuente hace que sea notablemente fácil de hacer en una distribución cruzada.

Algunos RPM se pueden encontrar here. El software GNU está disponible here o puede que desee verificar su mirrors para un sitio más rápido.

1

Hay http://www.g95.org/ que está disponible.

Si recuerdo bien, GNU no tiene un compilador FORTRAN sino un preprocesador FORTRAN (o cualquiera que sea el nombre para eso). Simplemente traduce tu código a C y lo compila con el compilador de C. Por supuesto, el rendimiento se convierte en basura en el proceso.

Sin embargo, si está utilizando FORTRAN supongo que es un tipo de proyecto de cálculo. Si es gratis (no académica y no relacionada con el curso), puede obtener el compilador Intel FORTRAN de forma gratuita. En mi experiencia, es aproximadamente 3-4 veces más rápido que cualquier implementación gratuita.

+0

¿Dónde puedo obtener la copia * gratuita * de Intel Fortran para Linux? Tengo dificultades para encontrar la versión gratuita en google. – chris

+0

Creo que podría estar refiriéndose a la licencia de evaluación gratuita de 30 días. –

+1

http://software.intel.com/en-us/articles/non-commercial-software-development/ – Stobor

0

También puede usar Netbeans y hacer c & C++ project y hacer agregar Fortran con el nuevo archivo .f90 y usar las herramientas de Netbeans para ejecutar y depurar. antes de eso, debe instalar los paquetes gcc y gfortran.

0

En mi experiencia, las distribuciones de Red Hat (y las basadas en ella) tienen gfortran incluido, pero es una opción cuando haces la instalación, por lo que parece probable que tu sistema esté configurado sin gfortran. Si tiene medios de instalación, creo que debería poder instalar gfortran desde allí.

De lo contrario, para obtener las rpm de gfortran adecuadas para su sistema, sugiero related rpmfind page.

Una vez que tenga instalado gfortran, creo que "-std = legacy" (las citas mías) debería permitir que funcione una compilación F77.

1

gcc-fortran es el nombre del paquete para el compilador Fortran para openSUSE 11.x.

linux-y3pi: # zypper what-provides gcc-fortran 
Loading repository data...                                       
Reading installed packages... 
S | Name  | Type | Version | Arch | Repository    
--+-------------+---------+---------+--------+------------------------ 
i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3-Oss  
i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3 11.3-1.82 
v | gcc-fortran | package | 4.5-4.2 | i586 | openSUSE-11.3-Oss  
[1]+ Done     yast2 
linux-y3pi: # 

http://gcc.gnu.org/fortran/

1

hice los siguientes pasos y funcionó!

  1. Editar su /etc/apt/sources.list

  2. añadir este texto en ese archivo (/etc/apt/sources.list):

    deb http://hu.archive.ubuntu.com/ubuntu/ hardy universe 
    deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy universe 
    deb http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe 
    deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe 
    
  3. Guarde el archivo

  4. Abrir el terminal, escriba: sudo apt-get install fort77

3

para Amazon Linux:

sudo yum --enablerepo=epel install gcc-gfortran 
2

"Quark" escribió en su respuesta que g77 se cambia el nombre gfortran. Eso no es correcto.

g77 ang gfortran son compiladores diferentes. g77 es reemplazado por gfortran en la colección de compiladores GNU (GCC), no es renombrado gfortran.

gfortran es un compilador Fortran moderno basado en el compilador g95. g77 es abandonware. No comparten la base de código. Los archivos binarios y las bibliotecas tampoco son compatibles entre g77 y gfortran, ya que utilizan diferentes ABI.

g77 es el mismo compilador conocido como f2c (que se puede descargar de Netlib), o más precisamente un script de shell llamado fc que llamó f2c y luego cc en la salida. Todo lo que G77 hizo fue saltarse C como un lenguaje intermedio ya que venía con una penalización de velocidad en la década de 1980 y principios de la de 1990. f2c y g77 fueron escritos por el mismo hombre y son por lo demás idénticos.Con una CPU moderna (predicción larga de canalización y bifurcación) y un compilador moderno de C (mucho mejor análisis de alias), g77 no le da ninguna ventaja sobre el f2c original. gfortran, por otro lado, es compatible con los estándares modernos de Fortran (Fortran 90, 95, 2003 y 2008), además de Fortran 77 y Fortran 66 (también conocido como FORTRAN IV), y es una clara mejora con respecto a g77 y f2c. También genera código más rápido y nos da mejores mensajes de error.

g77 es binario compatible con f2c, pero no con gfortran. gfortran puede verse obligado a asumir g77 ABI pasando -ff2c. Esta opción del compilador debe evitarse si es posible, ya que degrada el rendimiento del código Fortran.

+1

Hola, no escribí eso. Escribió que GCC ahora tiene un compilador con un nombre diferente que reemplazó al g77. La respuesta aceptada es correcta. –

+0

Es correcto ahora. No fue cuando comencé. –

Cuestiones relacionadas