fortran66のブログ

fortran について書きます。

メモ帳: gfortran 7.2.0 & flang を bash on windows で

gfortran 7

デフォルトの sudo apt install gfortran では、gfortran ver4 が入ってしまうので困ってしまいますが、以下のブログの手順で version 7 系列 が入ります。Fortran 2015 機能の一部も使えるようになるようです。

簡単に済みます。
Installing Gfortran 7.2 on Ubuntu - SciVision, Inc.

add-apt-repository ppa:ubuntu-toolchain-r/test
apt update
apt install gfortran-7

Fortran2003/08 対応状況:
Fortran2003Status - GCC Wiki
Fortran2008Status - GCC Wiki


flang / llvm

こちらは、ソースからのコンパイルになるので少し面倒でした。以下の指示の通りにやれば一応できます。コンパイルには数時間かかります。寝る前にセットしておくレベル。(make -j n でマルチスレッドにすれば早く終わります。)
github.com


途中、何度か○○.so が見つからない式のエラーが出ましたが、以下のブログにあるようにして、バイナリの位置を探して、不足のダイナミックライブラリにパスを通す感じで解決できました。

まっさらな状態からは llvm3.8 のバイナリを apt-get して指示通りやればいいようです。

# vi /etc/ld.so.conf
/usr/local/lib ←これを追加し、保存

# ldconfig  (実行)

かゆいところに手が届く Tips libiconv をソースでインストールしているとエラーがおこる?



幾つかのプログラムで試してみたところ、flang は、ifort や gfortran よりも文法に厳しく、ガバガバな私のプログラムは文法エラーで引っかかりまくりでしたw しかしエラーメッセージはやや不親切で、何に文句言ってるのか忖度が必要でした。また F03/08 機能なども実装されてないものが多くあるようでした(よく確認していません)。

実行時のエラーもコアを吐いて頓死なので少し大変です。

SSDが満杯になったので、テストの後消してしまいました。



なお PGI の Fortran フロントエンドが正式に提供されるとのニュースが出ています。