cmake和make无法在Fedora 23中编译YAP



这是一个特定的问题,但是,我无法在Fedora 23中获得cmake和make来编译Yet Another 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);
 ^

正如您所说,问题来自CUDD库。你需要在Makefile中修复CUDD的include目录文件夹…

相关内容

  • 没有找到相关文章

最新更新