直到最近,我已经能够使用this recipe在Docker容器中从源代码构建emacs.但是,截至上周,我的所有构建都因
Warning: Your system has a gap between BSS and the
heap (32188607 bytes). This usually means that exec-shield
or something similar is in effect. The dump may
fail because of this. See the section about
exec-shield in etc/PROBLEMS for more information.
我读了etc/PROBLEMS,对我来说没有任何意义.有谁知道如何为docker容器解释这个问题,我该怎么做才能在hub.docker.com上重新构建emacs?
我试过了
cat 0 > /proc/sys/kernel/exec-shield
但我不认为这是真正的问题,它在容器中不存在.
>交叉发布到https://emacs.stackexchange.com/questions/22665
>上游错误报告https://github.com/docker/docker/issues/22801
最佳答案
由于您是交叉发布,所以我会交叉回答:P IMHO交叉发布是不好的,您应该删除其中一个问题.
这个问题也在这里得到回答(因为您已经找到了我的github bug报告):
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23529
目前,直到emacs构建系统更改之前,可能只有这种方式,唯一有效的解决方案是:
>不要使用Dockerfile进行构建,也不应该在运行的容器中构建该容器,该容器具有允许个性化syscall的seccomp配置文件.例如:
泊坞窗运行–rm -it –security-opt seccomp = unconfined emacs-builder-image
>在构建之前禁用/ proc / sys / kernel / randomize_va_space:
回声0 / proc / sys / kernel / randomize_va_space;Docker建设.
我在https://hub.docker.com/r/silex/emacs维护Docker映像