gcc/gfortran を使わない FreeFem++-3.61-1 のコンパイル法

FreeBSD で FreeFem++ をコンパイルしようとすると、 clang と gcc 混在のプログラムはライブラリの矛盾に悩まされますが、 flang が使えるバージョンでは、 gcc/gfortran を使わずにコンパイルすることができますので、 以下、その方法を説明します。

FreeBSD-11.2 では ports/devel/flang をインストールすれば flang が使えるようになりますし、 FreeBSD-10.4 なら RELEASE の ports をインストールせずに、 ports 抜きでインストールしたシステムに、 最新の ports.tar.gz を追加します。

flang が使えるようにした上で、 freefem++-3.61-1.tar.gz を展開したディレクトリで下記の手順でコンパイルします。

 0) freefem++-3.61-1.tar.gz を展開しこのパッチをあてる

 1) 環境を Linux に合わせる

    # ln -s /usr/local/bin/wget /usr/bin/wget
    # ln -s /usr/local/bin/perl /usr/bin/perl
    # ln -s /usr/local/bin/bash /bin/bash
    # mv /usr/bin/make /usr/bin/make.bsd
    # ln -s /usr/local/bin/gmake /usr/bin/make

 2) freefem++-3.61-1 を compile する

    $ cd freefem++-3.61-1
    $ ./configure --enable-download --without-mpi CC=clang CXX=clang++ FC=flang \
	F77=flang CXXPP=flang
    $ make

 3) install する

    # cd freefem++-3.61-1
    # make install
    # make clean	# 動作確認後

 4) 環境を BSD に戻す

    # rm /usr/bin/wget /usr/bin/perl /bin/bash
    # rm /usr/bin/make
    # ln -s /usr/local/bin/make.bsd /usr/bin/make
平林 浩一, 2018-09-14