33 High Sierra で gfortran 4.9 を使う (紆余曲折の末どうなったか)

§32 のあらすじ:      1台テスト用の Mac を用意して、 その OS を El Capitan にダウングレードして、 無事 Xcode 8.2.1 をインストールして、 MacPorts で gcc49 をインストールして、 念願のソフトを make してみたら成功して、 ほぼ期待していた結果が得られました。 良かった、良かった。

(ネットには、「gcc49 をインストールしたいんだけど」、 (すんなり行かないので?) 「そうしたい理由は何。version 5 以上を使えばいいじゃん」 みたいなやり取りが英語で書いてあったりする。 古いのでは動くけれど、 新しいのでは動かないようなものは当然あるわけで、 それが確認できただけでも良かった。)


さあ、それでどうするか。 ターゲット (本番用) の Mac は2台ある。 古めの Mac ならば、同じように El Capitan に出来るので、 テスト機と全く同様に出来るだろう。

だが、新しい方 (昨年度購入) の Mac ではどうか? これは出荷時に High Sierra か Sierra がインストールされていたはず。 同じ手は使えない。 gcc49 を使う方法を色々考えてみた。 Parallels Desktop Lite を使って Linux をインストールするとか (自分が学生ならやってしまいそう)。 MacPorts でインストールした gcc5 を使って、gcc49 をマニュアルで make するとか (これは実は既に一度やって失敗している)。


ぼーっと考えていて、ふと、 MacPorts でなくて Homebrew だとどうだろう。 Xcode をインストールしなくても gcc を導入出来るとか読んだ覚えが…それだ?!

試してみたら、あっさり出来ました。 bash の動いているターミナルからコマンド2つ。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gcc49
これで gcc-4.9 と gfortran-4.9 がインストールされる。

これをコンパイラーに指定するか、
#!/bin/sh
gfortran-4.9 "$@"
のようなスクリプトを作り、PATH の最初の方にあるディレクトリィに置いておく。 現象数理学科 Mac だと ~/bin かな。要確認。


…何だかすごい遠回りをしてしまった。


でも、その結果、某研究に必要なプログラミング環境が得られたので良しとしたい。

Homebrew を知るために費やした時間も無駄にならなかった、と前向きに考えよう。


(2018/10/21) openmpi もインストール出来たみたい (あまり自信はないけれど、 とりあえずメモしておく)。
tar xjf openmpi-3.1.2.tar.bz2
cd openmpi-3.1.2
./configure CC=gcc-4.9 CXX=g++-4.9 F77=gfortran-4.9 FC=gfortran-4.9 \
  --enable-mpi-thread-multiple --prefix=/usr/local >& configure.log
make >& make.log
sudo make install

桂田 祐史
2020-04-05