Instruções de instalação do compilador Fortran para OS X

Instruções de instalação do compilador Fortran para OS X

Eu tento instalar o compilador Fortran para Mac OSX El Captain. Primeiramente;

Eu instalo install_f2c_osx.csh Execute o script de instalação $ chmod +x install_f2c_osx.csh $ sudo ./install_f2c_osx.csh

Dá este aviso:

1 warning generated.
ld -r -x -o wsne.xxx wsne.o
mv wsne.xxx wsne.o
cc -c -DSkip_f2c_Undefs -O xwsne.c
ld -r -x -o xwsne.xxx xwsne.o
mv xwsne.xxx xwsne.o
cc -c -DSkip_f2c_Undefs -O dtime_.c
ld -r -x -o dtime_.xxx dtime_.o
mv dtime_.xxx dtime_.o
cc -c -DSkip_f2c_Undefs -O etime_.c
ld -r -x -o etime_.xxx etime_.o
mv etime_.xxx etime_.o
ar r libf2c.a f77vers.o i77vers.o main.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o ctype.o derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o d_imag.o d_int.o d_lg10.o d_log.o d_mod.o d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o d_sqrt.o d_tan.o d_tanh.o i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o lbitbits.o lbitshft.o h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o ef1asc_.o ef1cmc_.o f77_aloc.o s_cat.o s_cmp.o s_copy.o backspac.o close.o dfe.o dolio.o due.o endfile.o err.o fmt.o fmtlib.o ftell_.o iio.o ilnw.o inquire.o lread.o lwrite.o open.o rdfmt.o rewind.o rsfe.o rsli.o rsne.o sfe.o sue.o typesize.o uio.o util.o wref.o wrtfmt.o wsfe.o wsle.o wsne.o xwsne.o dtime_.o etime_.o
ar: creating archive libf2c.a
ranlib libf2c.a
./xsum Notice README cds.c data.c defines.h defs.h equiv.c error.c exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c ftypes.h gram.c gram.dcl gram.exec gram.expr gram.head gram.io init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile.u makefile.vc malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c niceprintf.h output.c output.h p1defs.h p1output.c parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c sysdep.c sysdep.h sysdeptest.c tokens usignal.h vax.c version.c xsum.c >xsum1.out
/bin/sh: ./xsum: Permission denied
make: *** [xsum.out] Error 126
cp: f2c: No such file or directory

Que conselho você daria para resolver o problema? Obrigado

Responder1

Você precisa remover src/xsum, um executável para a arquitetura errada. O Makefile irá construí-lo automaticamente novamente.

Eu descobri isso percorrendoinstalar_f2c_osx.cshmanualmente.

No subdiretório src make produzido:

make ./xsum Aviso README cds.c data.c define.h defs.h equiv.c error.c exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c ftypes. h gram.c gram.dcl gram.exec gram.expr gram.head gram.io init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile.u makefile.vc malloc.c mem .c memset.c nomes misc.c.c nomes.h niceprintf.c niceprintf.h saída.c saída.h p1defs.h p1output.c analisar.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c sysdep.c sysdep.h sysdeptest.c tokens usignal.h vax.c version.c xsum.c >xsum1.out
/bin/sh: ./xsum: Permissão negada
make: *** [xsum.out] Erro 126

Isso permitiu que a F2C concluísse a construção.

VerInstruções de instalação do compilador Fortran para OS XA seçãoTRADUTOR f2c / COMPILADOR f77

Etapa 3:

  1. Traduzir, compilar, vincular e executar um programa

$ f2c olá.f
$ gcc -c olá.c
$ gcc -o olá olá.o -lf2c -lm
$ ./olá

falhou na primeira etapa produzindo:

src/f2c hello.f
hello.f:
Erro na linha 1 de hello.f: cartão de continuação ilegal (inicia "progra")
Erro na linha 2 de hello.f: não dígito no campo de rótulo de instrução "print"
Erro na linha 3 de hello.f: linha de continuação rotulada (inicia "end pr")
Erro na linha 2 de hello.f: instrução inclassificável (inicia "*,")

Houve vários avisos sendo criados no subdiretório src como um pequeno número construindo libf2c.a. Um bom primeiro passo para fazer esse código um tanto desatualizado funcionar pode ser eliminar os avisos (que são autoexplicativos).

informação relacionada