如何在 Docker Hub 中从源代码构建 Emacs? BSS 和堆之间的差距
·
问题:如何在 Docker Hub 中从源代码构建 Emacs? BSS 和堆之间的差距
直到最近,我已经能够使用这个配方从 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 容器解释这一点,以及我可以做些什么来让 emacs 在hub.docker.com上再次构建?
我试过了
cat 0 > /proc/sys/kernel/exec-shield
但我认为这不是真正的问题,它不存在于容器中。
-
交叉发布到https://emacs.stackexchange.com/questions/22665
-
上游错误报告https://github.com/docker/docker/issues/22801
解答
由于您交叉发布,我交叉回答:P 恕我直言交叉发布不好,您应该删除其中一个问题。
这个问题也在这里得到解答(因为你已经找到了我的 github 错误报告):
https://debbugs.gnu.org/cgi/bugreport.cgi?bugu003d23529
目前,在 emacs 构建系统发生变化之前,可能会一直如此,唯一有效的解决方案是:
- 不要使用 Dockerfile 构建,而是在具有允许个性系统调用的 seccomp 配置文件的运行容器中构建。例如:
docker run --rm -it --security-opt seccomp=unconfined emacs-builder-image
- 在构建之前禁用 /proc/sys/kernel/randomize_va_space:
echo 0 > /proc/sys/kernel/randomize_va_space; docker build .
我在https://hub.docker.com/r/silex/emacs维护 docker 镜像
更多推荐



所有评论(0)