首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[YAP 6.2.2][Prolog]在Ubuntu 20.04上编译时出现"mmap“错误

[YAP 6.2.2][Prolog]在Ubuntu 20.04上编译时出现"mmap“错误
EN

Stack Overflow用户
提问于 2020-05-08 01:13:55
回答 1查看 109关注 0票数 2

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

代码语言:javascript
复制
%
%
% YAP OOOPS: mmap could not map at 0x10000000, got 0xffffffffffffffff.
%
%

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

我已经安装了自述文件中建议的库(gmp和readline),但我找不出问题所在。同样的过程在Ubuntu 18.04LTS和Ubuntu 19.10上运行得很好。

EN

回答 1

Stack Overflow用户

发布于 2021-01-20 22:11:54

我今天遇到了同样的问题,并决定调试这个问题。我找到了这个问题的原因和一个简单的修复方法。不幸的是,构建后来失败了,因为有一个相关的问题,我还没有弄清楚。

问题在于,试图通过mmap使用/dev/zero来映射可执行内存。然而,在Ubuntu20.04中,/dev是使用noexec标志挂载的。我对代码打了补丁,改为使用匿名内存,但正如我在上面所说的,它只是在构建过程中的稍后时刻失败(通过挂起)。挂起的进程正在尝试通过mmap重复分配更多内存,但使用ENOMEM失败。

如果我找到一个合适的解决方案,我会在某个地方上传所有这些问题的补丁,并将其链接到这里。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61663746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档