No linux, como fazer com que bibliotecas “incompatíveis” i386 f77 trabalhem com compiladores Fortran atuais, como o gfortran?

1

Eu gostaria de executar a biblioteca elf32-i386 libkernlib.a com um programa Fortran 77 na minha última máquina linux Ubuntu. Pelo que eu li, gfortran é compatível com o Fortran 77, mas estou tendo problemas para fazê-lo funcionar com a biblioteca. Eu tentei -ff2c, -fbackflash, etc, mas tudo ainda está me dando

$ gfortran -ff2c -O -o output f77fortran.f -lkernlib

/usr/bin/ld: skipping incompatible //usr/local/lib/libkernlib.a when searching for -lkernlib
/usr/bin/ld: canot find -lkernlib

Eu também tentei usar fort77 . Não consigo encontrar um f77 que funcione. Se alguém souber como executar programas f77 e suas bibliotecas, seja usando gfortran ou qualquer outra coisa, isso seria ótimo.

Btw, a biblioteca libkernlib.a tem versões antigas de links de "bibliotecas" em esta página , mas os que eu tentei todos dão o mesmo erro e são todos i386 (eu descobri que por objdump -f libkernlib.a ).

Contexto: isso faz parte de um projeto do Mathematica que usa código antigo.

    
por Alice 10.09.2014 / 02:37

1 resposta

2

Na verdade, -m32 funciona melhor que -ff2c para mim, não precisei usar -ff2c .

$ gfortran -m32 -O -o output f77fortran.f -lkernlib 

Então eu tenho alguns outros erros com compatibilidade de 32 bits ou f77 que foram resolvidos com a adição dos pacotes:

  • lib32gfortran-4.8-dev
  • gcc-multilib
por 10.09.2014 / 04:53

Tags