como instalar o g77 no Ubuntu 12.04

0

Eu quero um compilador g77 em funcionamento no meu laptop Ubuntu 12.04 de 64 bits. o mesmo aconteceu com o seguinte:

  1. Eu mudo o sources.list adicionando as seguintes linhas:

deb http...hu.archive.ubuntu.com/ubuntu/ hardy universe
deb-src ..//hu.archive.ubuntu.com/ubuntu/ hardy universe
deb http:...hu.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src ..//hu.archive.ubuntu.com/ubuntu/ hardy-updates universe


2. então eu em um terminal eu fiz o seguinte:

sudo apt-get update
sudo apt-get install g77

As coisas pareciam muito agradáveis então. Mas quando tentei compilar com g77 no meu programa Fortran77. Eu tenho os seguintes erros:

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status


3. Por que o g77 não funciona corretamente? Muitas pessoas precisam do g77 porque o Ubuntu não oferece um g77 viável?


4. Por favor me ajude! Obrigado a um iniciante do Ubuntu |

    
por ubuntu-beginner 30.10.2012 / 12:09

2 respostas

1

Eu tive o mesmo problema, com o mesmo sistema hoje e RESOLVIDO. Pode servir para você.

Se você é um especialista, pode pular para o final de uma solução de 3 linhas ou seguir o meu caminho,

que foi:
1)
$ locate crt1.o
/usr/lib/x86_64-linux-gnu/Mcrt1.o
/usr/lib/x86_64-linux-gnu/Scrt1.o
/usr/lib/x86_64-linux-gnu/crt1.o
/usr/lib/x86_64-linux-gnu/gcrt1.o
/usr/lib32/Mcrt1.o
/usr/lib32/Scrt1.o
/usr/lib32/crt1.o
/usr/lib32/gcrt1.o

Como estou usando x86_64, apenas copiei "/ usr / lib / x86_64-linux-gnu /"

2)
$ locate crti.o
/usr/lib/x86_64-linux-gnu/crti.o
/usr/lib32/crti.o

Foi o mesmo que acima, então, nada de novo.

3a)
$ locate lgcc_s
NADA -

pânico ...

Mas eu tentei:

3b)
$ locate gcc_s
/lib/i386-linux-gnu/libgcc_s.so.1
/lib/x86_64-linux-gnu/libgcc_s.so.1
/usr/lib/gcc/x86_64-linux-gnu/4.4/libgcc_s.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s_32.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/32/libgcc_s.so
/usr/lib32/libgcc_s.so.1
/usr/libexec/autopackage/libgcc_s.so.1

Agora, eu escolhi a versão mais antiga, 4.4, então copiei "/usr/lib/gcc/x86_64-linux-gnu/4.4 /"

O software em questão estava em um makefile. Abri o primeiro e mudei:

(de) FFLAGS = -g -O2

(a) FFLAGS = -g -O2 -B / usr / lib / x86_64-linux-gnu / -B / usr / lib / gcc / x86_64-linux-gnu / 4.4 /

Para ser simples: basta adicionar -B para cada caminho que copiei

Se você estiver usando o terminal direto do g77, pode ser:

$ g77 (...) -B / usr / lib / x86_64-linux-gnu / -B / usr / lib / gcc / x86_64-linux-gnu / 4.4 / (...)

Especialista:

1) Use o locate para encontrar o caminho de crt1.o, crti.o e-lgcc_s (procure por gcc_s); 2) Copie os caminhos para sua distro / bits; 3) Adicione um "-B path_1" "-B path_2" (onde path_i são os caminhos acima) em sua chamada de compilação g77.

EDITAR
cogitoergosum,
No meu caso, o software é MUITO antigo e o fort77, gfortran e f77 deram muitos problemas. Eu primeiro compilado com sucesso com ifort (Intel Fortran compilador). Mas eu tentei o g77 para uma alternativa de código aberto. E isso funciona!

    
por David VAz Teixeira 16.01.2013 / 05:43
-1

Tente instalar o fort77 (sudo apt-get install fort77) que também instala o f2c. Use f77 que invoca f2c translator para compilar / link. Boa sorte.

    
por cogitoergosum 30.10.2012 / 16:37