在 Ubuntu 11.10 64 位上编译 Prolog-JPL? [英] Compiling Prolog-JPL on Ubuntu 11.10 64-bit?

查看:25
本文介绍了在 Ubuntu 11.10 64 位上编译 Prolog-JPL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试按照此处所述编译 prolog-JPL:https://code.google.com/p/javanaproche/wiki/HowToJPL

I'm trying to compile prolog-JPL as described here: https://code.google.com/p/javanaproche/wiki/HowToJPL

不幸的是,它以错误结束:

Unfortunately, it ends with an error:

**********************
* Package plunit
**********************
config.status: creating Makefile
**********************
* Package jpl
**********************
config.status: creating Makefile
config.status: creating src/java/Makefile
config.status: creating config.h
config.status: config.h is unchanged
**********************
* Package R
**********************
config.status: creating Makefile
**********************
* Package protobufs
**********************
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
make[1]: Leaving directory `/home/user/pl-5.10.1/packages'
cd packages && make
make[1]: Entering directory `/home/user/pl-5.10.1/packages'
for p in clib cpp table sgml RDF semweb http chr clpqr nlp tipc pldoc plunit jpl R protobufs; do 
        if [ -r $p/Makefile ]; then make -C $p || exit 1; fi; 
        done
make[2]: Entering directory `/home/user/pl-5.10.1/packages/clib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/clib'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/cpp'
Nothing to do for this package
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/cpp'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/table'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/table'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/sgml'
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/sgml'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/RDF'
Nothing to do for this package
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/RDF'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/semweb'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/semweb'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/http'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/http'
make[2]: Entering directory `/home/user/pl-5.10.1/packages/chr'
../swipl.sh -q -f ./chr_swi_bootstrap.pl 
              -g "chr_compile_step1('chr_translate_bootstrap1.chr','chr_translate_bootstrap1.pl'),halt" 
              -t 'halt(1)'
ERROR: source_sink `/chr_swi_bootstrap.pl' does not exist
ERROR: Prolog initialisation failed:
ERROR: '<meta-call>'/1: Undefined procedure: chr_compile_step1/2
make[2]: *** [chr_translate_bootstrap1.pl] Error 1
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/chr'
make[1]: *** [objects] Error 1
make[1]: Leaving directory `/home/user/pl-5.10.1/packages'
make: *** [packages] Error 2

****  Installation failed. Aborting package creation.

它似乎在抱怨 Prolog 代码中的问题,但我在另一台 32 位而非 64 位机器上编译得很好.

It seems to be complaining about a problem in the Prolog code, but I compiled it fine on another machine, which was 32-bit, not 64-bit.

更新:删除文件夹后,重新下载并尝试编译,我得到一个不同的错误.我想知道是不是没有检查是否安装了库而导致失败的情况?

Update: After deleting the folder, re-downloading and trying to compile, I get a different error. I'm wondering if it's a case of not checking if a library is installed, and failing because of it?

make[4]: Entering directory `/home/user/pl-5.10.1/packages/xpce/src'
gcc -c -Wall -O2 -fno-strict-aliasing -I. -I/home/user/pl-5.10.1/packages/xpce/src -I/usr/include  -I/usr/include -I/usr/include/freetype2   -fPIC -DHAVE_CONFIG_H x11/canvas.c -o x11/canvas.o
gcc -c -Wall -O2 -fno-strict-aliasing -I. -I/home/user/pl-5.10.1/packages/xpce/src -I/usr/include  -I/usr/include -I/usr/include/freetype2   -fPIC -DHAVE_CONFIG_H x11/fshell.c -o x11/fshell.o
gcc -c -Wall -O2 -fno-strict-aliasing -I. -I/home/user/pl-5.10.1/packages/xpce/src -I/usr/include  -I/usr/include -I/usr/include/freetype2   -fPIC -DHAVE_CONFIG_H x11/xcommon.c -o x11/xcommon.o
In file included from /usr/include/X11/extensions/render.h:29:0,
                 from /usr/include/X11/extensions/Xrender.h:33,
                 from /usr/include/X11/Xft/Xft.h:42,
                 from x11/include.h:78,
                 from x11/xcommon.c:28:
/usr/include/X11/Xdefs.h:47:13: error: conflicting types for ‘Bool’
./h/types.h:66:25: note: previous declaration of ‘Bool’ was here
x11/xcommon.c:167:1: error: conflicting types for ‘X11ThreadsDisplay’
./h/wst.h:34:16: note: previous declaration of ‘X11ThreadsDisplay’ was here
x11/xcommon.c: In function ‘X11ThreadsDisplay’:
x11/xcommon.c:171:29: warning: comparison between pointer and integer [enabled by default]
x11/xcommon.c: In function ‘keycode_to_name’:
x11/xcommon.c:666:9: warning: variable ‘has_chars’ set but not used [-Wunused-but-set-variable]
x11/xcommon.c: In function ‘CtoEvent’:
x11/xcommon.c:910:14: warning: assignment makes integer from pointer without a cast [enabled by default]
make[4]: *** [x11/xcommon.o] Error 1
make[4]: Leaving directory `/home/user/pl-5.10.1/packages/xpce/src'
make[3]: *** [dowsobjs] Error 2
make[3]: Leaving directory `/home/user/pl-5.10.1/packages/xpce/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/user/pl-5.10.1/packages/xpce'
make[1]: *** [objects] Error 1
make[1]: Leaving directory `/home/user/pl-5.10.1/packages'
make: *** [packages] Error 2

推荐答案

由于其中一个模块阻止它编译 (chr),我将它添加到 export DISABLE_PKGS 行,它编译并运行美好的.:)

Since one of the modules kept it from compiling (chr), I added it to the export DISABLE_PKGS line, it compiled and ran fine. :)

这篇关于在 Ubuntu 11.10 64 位上编译 Prolog-JPL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆