これは特定の質問のようなものですが、Fedora 23 で Yet Another Prolog をコンパイルするための cmake と make を取得できません。Github で最新のリポジトリ YAP 6.3.4 を複製しました。私の友人は、彼の Funto Linux で同じクローンを作成し、cmake を実行して成功しました。Fedora 23 でそれらを実行すると、CUDD ヘッダーが欠落している場合にのみ意味のある奇妙なエラーが発生しますが、CUDD はヘッダー ファイルと共にインストールされます。
cmake で生成された Makefile が、ある Linux システムではコンパイルに失敗し、別の Linux システムではコンパイルに失敗する理由を説明できる十分な経験を誰かが持っていることを願っています。
これは make エラーのサンプルです (cmake で作成された Makefile はエラーなしです)。「不明な」タイプ名は、システムにインストールされている CUDD ヘッダーにあります。ソース ファイル cplint は、CUDD を使用してビルドされることになっています。
% YAP 6.3.4-76638bb7 (compiled 2016-09-01T01:01:57@dhcp-129-8-62-64)
In file included from /home/safulop/yap-6.3/packages/cplint/cplint_yap.c:15:0:
/home/safulop/yap-6.3/packages/cplint/cplint.h:41:3: error: unknown type name ‘DdNode’
DdNode * * booleanVars;
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:54:3: error: unknown type name ‘DdNode’
DdNode *key;
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:64:33: error: unknown type name ‘DdManager’
variables createVars(YAP_Term t,DdManager * mgr, int create_dot,
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:69:1: error: unknown type name ‘DdNode’
DdNode * retFunction(DdManager * mgr, expr expression,variables v);
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:69:22: error: unknown type name ‘DdManager’
DdNode * retFunction(DdManager * mgr, expr expression,variables v);
^
/home/safulop/yap-6.3/packages/cplint/cplint.h:70:1: error: unknown type name ‘DdNode’
DdNode * retTerm(DdManager * mgr,term t,variables v);
^