2

我在 Ubuntu 20.04 上编译 YAP Prolog 6.2.2 时遇到问题。像往常一样,按照自述文件,我浏览到 YAP 文件夹并给出 ./configure成功的命令。接下来,我给出命令make,但它给了我这个错误:

%
%
% YAP OOOPS: mmap could not map at 0x10000000, got 0xffffffffffffffff.
%
%

   Exiting ....
make: *** [Makefile:534: startup.yss] Error 1

我已经安装了 README 文件中建议的库(gmp 和 readline),但我不知道问题出在哪里。同样的过程在 Ubuntu 18.04LTS 和 Ubuntu 19.10 上运行良好。

4

1 回答 1

1

我今天遇到了同样的问题并决定调试问题。我找到了这个问题的原因和一个hackish修复。不幸的是,后来构建失败,并出现了一个我无法弄清楚的相关问题。

问题是尝试/dev/zero使用mmap. 然而,在 Ubuntu 20.04/dev中安装了该noexec标志。我修补了代码以改用匿名内存,但正如我上面所说的那样,它在构建过程中的稍后时间点失败(挂起)。挂起的进程正在尝试通过 重复分配更多内存mmap,但这失败了ENOMEM

如果我找到合适的解决方案,我将在某处上传所有这些问题的补丁并在此处链接。

于 2021-01-20T14:11:53.890 回答