【问题标题】:meson can't build systemd from source: "getent" not found介子无法从源代码构建 systemd:找不到“getent”
【发布时间】:2021-07-12 00:56:18
【问题描述】:

我正在交叉编译环境 (yocto sumo) 中从源代码编译 systemd 版本 237。

根据 bitbake 配方,systemd 是由介子构建的。

我将介子版本升级到 0.49.2(复制自 warrior),因为我的其他食谱需要该版本。

当我执行bitbake systemd 时,出现此错误:

meson.build:678:0: ERROR: Program or command 'getent' not found or not executable

我打开了meson.build,它有:

getent_result = run_command('getent', 'passwd', '65534')
if getent_result.returncode() == 0
    ...
endif

我搜了一下,好像getent是标准命令,在我的构建主机(Ubuntu 16)中可以运行:

getent --version

getent (Ubuntu GLIBC 2.23-0ubuntu11.2) 2.23

所以getent 确实存在,至少在我的主机 Ubuntu 中。

那怎么解决mison问题呢?

谢谢

【问题讨论】:

  • 我认为你的工具链丢失了glibc-utils?

标签: yocto systemd bitbake meson-build


【解决方案1】:

您可以从主机添加它:

HOSTTOOLS += "getent"

但是 OE-Core 没有这个标准,因为标准和 systemd 构建可以正常工作,所以我有点不明白为什么你会达到要求。

【讨论】:

    猜你喜欢
    • 2022-08-12
    • 1970-01-01
    • 2020-04-01
    • 2014-01-22
    • 2020-08-11
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多