Mac OSX El Captain 用の Fortran コンパイラをインストールしてみます。まず、
install_f2c_osx.csh
インストールスクリプトを実行します$ chmod +x install_f2c_osx.csh $ sudo ./install_f2c_osx.csh
次のような警告が出されます:
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
問題を解決するためにどのようなアドバイスがありますか? ありがとうございます
答え1
間違ったアーキテクチャの実行ファイルである src/xsum を削除する必要があります。Makefile は自動的にそれを再度ビルドします。
私はこれをステップスルーして見つけたインストール_f2c_osx.csh手動で。
src サブディレクトリに以下が生成されます:
make ./xsum 通知 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: アクセス権が拒否されました
make: *** [xsum.out] エラー 126
これにより、f2c は建物の建設を完了することができました。
見るOS X 用 Fortran コンパイラのインストール手順セクションf2c トランスレータ / f77 コンパイラ
ステップ3:
- プログラムを翻訳、コンパイル、リンク、実行する
$ f2c hello.f
$ gcc -c hello.c
$ gcc -o hello hello.o -lf2c -lm
$ ./hello
最初のステップで失敗しました:
src/f2c hello.f
hello.f:
hello.f の 1 行目のエラー: 不正な継続カード ("progra" で始まります)
hello.f の 2 行目のエラー: ステートメント ラベル フィールド "print" に数字以外の値があります
hello.f の 3 行目のエラー: ラベル付き継続行 ("end pr" で始まります)
hello.f の 2 行目のエラー: 分類できないステートメント ("*," で始まります)
src サブディレクトリでのビルドでは多数の警告があり、libf2c.a のビルドでは少数でした。このやや古いコードを動作させるための最初の良いステップは、警告 (説明不要) を排除することかもしれません。