Macで様々なUNIX系のオープンソースソフトウェア(OSS)をインストールするのは大変な事です。インストール作業が楽しい方は別として、様々必要なライブラリを集めてインストールするのはかなり時間がかかります。 商用UNIX系やLinux系では予めバイナリがメンテナンスサーバに用意されていて、簡単にインストールできる仕組みが出来ています。rpm, yum, zypperなどがそれです。MacがUNIX系になったので、このようなOSSを管理してくれるプログラムが幾つかボランティアの手によって作成されました。Finkはその内の一つになります。
Finkはとても便利です。いろいろなOSSアプリが様々なボランティアの手によってメンテされています。アプリの必要とされるライブラリなども用意されていて、依存するライブラリも自動的にサーバからダウンロードしてくれます。初期の頃は全てソースコードから自分のMac上でコンパイル・リンク(ビルド)作業がされていましたが、バイナリインストールも大分用意されるようになって、インストール時間が短縮されました。
便利なFinkですが、時々、自分の設定とは異なる場合があります。ソースコードからビルドする際、オプションはそのアプリのメンテナーの設定が反映されます。例えば、Open MPIパッケージは、2017年4月3日現在、1.10.4がインストールされますが、これはMPI_THREAD_MULTIPLEスイッチがオフの状態になっています。これをオンにしたい場合、自分でFinkとは別にインストールしなければならなくなってしまいます。
そこで、ここでは、そのオプションを変更する方法について、解説いたします。
Finkのパッケージは全て、ディレクトリ、

/sw

以下に存在します。様々なディレクトリが内包していますが、

/sw/fink/10.9-libcxx/stable/main/finkinfo/devel/openmpi.info

というファイルが存在します。この中には、このopenmpiというパッケージの依存情報や、configureのオプションが記述されています。この記述の内、

ConfigureParams: --preix=%p \
--datadir=%p/share/doc \
--sysconfdir=%p/etc/%n \
--sharedstatedir=%p/var/%n/shared \
--localstatedir=%p/var/%n/local \
--libdir=%p/lib/%n \
...

のブロックに、

--enable-mpi-thread-multiple

を追加します。その後、

%> fink rebuild openmpi

とすることで、新しく追加したオプションが反映されます。
確認のため、

%> ompi_info -c | grep -i thread
ConfigureParams: Thread support: posix (MPI_THREAD_MULTIPLE: yes, OPAL support: yes, OMPI progress: no, ORTE progress: yes, Event lib: yes) FT Checkpoint support: no (checkpoint thread: no)

となり、無事MPI_THREAD_MULTIPLEがyesになりました。
FaLang translation system by Faboba