たてたてよこよこまるかいてちょん

組み込み関連の情報を共有するためのブログです

opam install core で失敗する

こんな人はほぼいないと思うが、opam install core で OCaml の core パッケージをインストールすると失敗することがありえる。
そのMacのデフォルトのCコンパイラがclangではなくgccになっている場合、Appleのsyslog.hを読みにいって、そこで死ぬ。

原因は macport でインストールした gcc がデフォルトになっているから。
さてどうやって戻そうか

できなかったので、とりあえず、PATH環境変数から /opt/local/bin を削除して /opt/local/bin/gcc を見付けられないようにしてから、opam install coreでインストールするとうまくいった。

以下、失敗した例

CC, CPP, CXX環境変数

こういうときにデフォルトのコンパイラを指定する方法として、

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
opam install core

CC=/usr/bin/clang CXX=/usr/bin/clang++ opam install core

といった方法があるがこれもうまくいかない。
gccが呼出される。ビルド時に別のシェルでもよんでいるみたい。

DEVELOPER_DIR環境変数

複数のXcodeがある場合に、DEVELOPER_DIR環境変数Xcodeの環境を設定できるらしい。
Xcodeは最新のものひとつだけだったがこれを指定した。しかしやはり gcc が呼出されてしまう。

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Resource/Develop
だったか。

plistにかいておいて、ログイン時に読み込ませればあるいは可能性があったのかも?

記事のLicense このブログの記事は特に断りのない限り、引用部分を除いて、以下の CC-BY 4.0でライセンスします。 https://creativecommons.org/licenses/by/4.0/deed.ja ただし、ブログ内にあるコードは、特に断りのない限り、CC-BY 4.0またはMITLicense で利用できるものとします。