MacPorts の gprolog 1.4.0 で Segmentation Violation
7つの言語 7つの世界 第4章 Prolog のセルフスタディをやろうとして、MacPorts で GNU Prolog 1.4.0 をインストールしてみました。
$ sport install gprolog
(sport は sudo port への alias です。詳しくは、MacPorts 2.0.1 インストールメモ: PATH とファイルシステムの case-sensitivity に注意 - passingloopの日記)
しかし、
GNU Prolog 1.4.0 で例えば次のような計算をすると,次のようなエラーが出て,prolog自体が終了してしまいます.
?- X is 0 + 1 Fatal Error: Segmentation Violation
■【Mac】【Prolog】is を使った計算をするとエラーが出る: メモ帳
この人と同じエラーに遭遇しました。
調べてみると、gprolog 1.4 は x86_64 をサポートしていなかったので、CC='gcc -arch i386' してみたところ、エラーが再現しなくなりました。
かなりのやっつけ仕事ですが、Mac OS X への Io のインストール - passingloopの日記 で紹介した passingloop-ports に追加して、
$ sudo port install gnuprolog
で修正版をインストールできるようにしました。