Ich versuche, den Fortran-Compiler für Mac OSX El Captain zu installieren. Erstens:
Ich installiere. install_f2c_osx.csh
Führen Sie das Installationsskript aus: $ chmod +x install_f2c_osx.csh $ sudo ./install_f2c_osx.csh
Es wird folgende Warnung ausgegeben:
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
Welchen Ratschlag geben Sie mir, um das Problem zu lösen? Danke
Antwort1
Sie müssen src/xsum entfernen, eine ausführbare Datei für die falsche Architektur. Das Makefile erstellt sie automatisch erneut.
Ich fand dies durch den Schritt durchinstall_f2c_osx.cshmanuell.
Im Unterverzeichnis src erzeugt make:
make ./xsum Hinweis 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: Zugriff verweigert
make: *** [xsum.out] Fehler 126
Dadurch konnte F2C den Bau abschließen.
SehenInstallationsanweisungen für den Fortran-Compiler für OS XDie Sektionf2c-ÜBERSETZER / f77-COMPILER
Schritt 3:
- Übersetzen, Kompilieren, Verknüpfen und Ausführen eines Programms
$ f2c hallo.f
$ gcc -c hallo.c
$ gcc -o hallo hallo.o -lf2c -lm
$ ./hallo
Der erste Schritt ist fehlgeschlagen und hat Folgendes hervorgebracht:
src/f2c hello.f
hello.f:
Fehler in Zeile 1 von hello.f: ungültige Fortsetzungskarte (beginnt mit „progra“).
Fehler in Zeile 2 von hello.f: keine Ziffer im Anweisungsbezeichnungsfeld „print“.
Fehler in Zeile 3 von hello.f: bezeichnete Fortsetzungszeile (beginnt mit „end pr“).
Fehler in Zeile 2 von hello.f: nicht klassifizierbare Anweisung (beginnt mit „*,“).
Es gab zahlreiche Warnungen im Unterverzeichnis src, darunter eine kleine Anzahl beim Erstellen von libf2c.a. Ein guter erster Schritt, um diesen etwas veralteten Code wieder zum Laufen zu bringen, könnte darin bestehen, die Warnungen (die selbsterklärend sind) zu beseitigen.