cmake并且无法在Fedora 23中编译YAP

时间:2016-09-02 06:17:57

标签: makefile cmake fedora-23 yap

这是一个特定的问题,但是,我无法得到cmake并且在Fedora 23中编译了另一个Prolog。克隆了Github的最新回购,YAP 6.3.4。我的朋友在他的Funtoo 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);
 ^

1 个答案:

答案 0 :(得分:0)

正如您所说,问题来自CUDD库。您需要修复Makefile中CUDD的包含目录文件夹...