受systemd的meson.build
文件启发,我创建了以下文件:
project('test','c')
cc = meson.get_compiler('c')
cc.sizeof('time_t', prefix : '#include <sys/time.h>')
如果我通过docker run --rm -it ubuntu:18.04 bash
在容器中运行此程序,并通过apt update && apt install -y meson gcc
安装介子,则可以正常工作,返回:
检查“ time_t”的大小:8
但是,将标志--tmpfs /tmp
添加到docker run
,结果是这样的:
检查“ time_t”的大小:-1
为什么会这样?介子是否可能在/tmp
中创建临时可执行文件?
答案 0 :(得分:1)
在两个容器中比较了/tmp
的安装选项之后,结果非常简单:docker似乎确实默认设置了noexec
,这就是为什么您必须显式设置{{1 }}标志:
exec