2017-11-21 29 views
0

finkでgcc 6.7コンパイラをインストールしましたが、Fortranコードをコンパイルできるようになりましたが、実行できません。実行時に次のエラーが発生します:ffortでgfortranライブラリをリンクする

dyld: Library not loaded: /sw/lib/gcc5/lib/libgfortran.3.dylib

そして、 'fink selfupdate'を実行した後でさえ、これはそのままです。

'which gfortran' returns '/sw/bin/gfortran'

'which gcc' returns '/usr/bin/gcc'

私は、ライブラリをリンクに問題があると思います。どうすればこの問題を解決できますか?

+1

エラーメッセージには、gcc5ではなくgcc6が記載されています。どうして? gfortranには複数のバージョンがありますか? –

+0

あなたの環境はfinkのために正しく設定されていますか?彼らの[doc](http://www.finkproject.org/doc/users-guide/install.php?phpLang=en#setup)を参照してください。また、 'echo $ DYLD_LIBRARY_PATH'の出力は何ですか? –

+0

私はgfortran 6と7を持っていますので問題はあると思いますが、ここには5はありません。 'echo $ DYLD_LIBRARY_PATH'の出力が空です –

答えて

0

私は結局解決しました。ありがとうございます。問題は、デフォルトでgfortranがバージョン5.5を使用するように設定されていたことです。 gfortran-fsf-6とgfortran-fsf-7にはより高いバージョンがインストールされ、対応するライブラリは/ sw/lib/gcc6と/ sw/lib/gcc7にあります(/ gcc5は存在しません)。

私は

gfotran-fsf-6 "programname.f" 

でコンパイルすると、その後すべてが正しくリンクされています。

関連する問題