如何从 Docker Hub 中的源代码构建 Emacs? BSS和堆之间的差距
how to build Emacs from source in Docker Hub? gap between BSS and heap
直到最近,我才能够使用 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 容器解释这个以及我可以做些什么来让 emacs 在 hub.docker.com
上再次构建?
我试过了
cat 0 > /proc/sys/kernel/exec-shield
但我认为这不是真正的问题,它不存在于容器中。
既然你交叉发布,我就交叉回答 :P 恕我直言,交叉发布不好,你应该删除其中一个问题。
这里也回答了这个问题(因为你已经找到了我的 github 错误报告):
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23529
目前,在 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 .
维护 docker 个图像
直到最近,我才能够使用 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 容器解释这个以及我可以做些什么来让 emacs 在 hub.docker.com
上再次构建?
我试过了
cat 0 > /proc/sys/kernel/exec-shield
但我认为这不是真正的问题,它不存在于容器中。
既然你交叉发布,我就交叉回答 :P 恕我直言,交叉发布不好,你应该删除其中一个问题。
这里也回答了这个问题(因为你已经找到了我的 github 错误报告):
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23529
目前,在 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 .