Yocto &引用;没有包提供libsystemd.so.0(libsystemd_219)";在do_rootfs期间

Yocto &引用;没有包提供libsystemd.so.0(libsystemd_219)";在do_rootfs期间,yocto,rpm,systemd,bitbake,openembedded,Yocto,Rpm,Systemd,Bitbake,Openembedded,我正在尝试从以下位置使用phytec bsp 18.2构建映像: 我需要一个更新版本的systemd(>234),因此我将systemd配方替换为rocko的234版本,可以在这里找到:将其放在自定义层中。但是,在do_rootfs步骤中,我收到一个错误,即“没有包提供libsystemd.so.0(libsystemd_219)。我尝试了此处推荐的解决方法:但它没有解决问题。我尝试将libsystemd.so.0、libsystemd_219和libsystemd.so.0(libsystem

我正在尝试从以下位置使用phytec bsp 18.2构建映像:


我需要一个更新版本的systemd(>234),因此我将systemd配方替换为rocko的234版本,可以在这里找到:将其放在自定义层中。但是,在do_rootfs步骤中,我收到一个错误,即“没有包提供libsystemd.so.0(libsystemd_219)。我尝试了此处推荐的解决方法:但它没有解决问题。我尝试将
libsystemd.so.0
libsystemd_219
libsystemd.so.0(libsystemd_219)
回传给这两个
${rootfs}/etc/rpm/sysinfo/Providename
${rootfs}/var/lib/rpm/Providename
都没有运气。有人知道如何解决这个问题吗?我非常感谢能提供的任何帮助,如果我能提供更多信息,请告诉我。

我不知道yocto包装器等,但在标准rpm领域,这个错误:

Computing transaction…错误:无法安装python3-systemd-234-r0。0@cortexa7hf_neon:没有包提供libsystemd.so.0(libsystemd_219)

这意味着在名为
python3-systemd-234-r0.0
的RPM中有一个
.so
或可执行文件,该文件是使用特定版本的
libsystemd.so.0
编译的,该文件具有标志
libsystemd_219
。该标志是“ELF符号版本控制”“当您尝试安装对目标系统来说太新的RPM时(例如CentOS 6上的CentOS 7 RPM),GLIBC_XX是最常见的

目标计算机上的
systemd
太旧,因此它只定义与之兼容的版本,例如
libsystemd.so.0(libsystemd_210)
或类似版本

您需要做的是在与目标系统版本相同的机器上构建您的
python3-systemd-234-r0.0
(或者适当地交叉编译),或者创建一个包含您正在尝试的功能的
systemd
RPM


因此,您需要弄清楚如何将这些解决方案之一应用于构建系统;很抱歉,我对yocto了解不够,无法提供帮助。

我不知道yocto包装器等,但在标准RPM land中,此错误:

Computing transaction…错误:无法安装python3-systemd-234-r0。0@cortexa7hf_neon:没有包提供libsystemd.so.0(libsystemd_219)

这意味着在名为
python3-systemd-234-r0.0
的RPM中有一个
.so
或可执行文件,该文件是使用带有标记
libsystemd_219
的特定版本的
libsystemd.so.0
编译的。该标志是“ELF符号版本控制”,当您尝试安装对目标系统来说太新的RPM(例如CentOS 6上的CentOS 7 RPM)时,在GLIBC_XX中最常见

目标计算机上的
systemd
太旧,因此它只定义与之兼容的版本,例如
libsystemd.so.0(libsystemd_210)
或类似版本

您需要做的是在与目标系统版本相同的机器上构建您的
python3-systemd-234-r0.0
(或者适当地交叉编译),或者创建一个包含您正在尝试的功能的
systemd
RPM


因此,您需要弄清楚如何将这些解决方案之一应用于构建系统;很抱歉,我对yocto了解不够,无法提供帮助。

您是否检查了他们的git repos是否有更新版本?我刚刚运行了
repo sync
以获取所有内容的最新版本并重新构建。同样的问题。问题在于安装python3-systemd-234(如果有帮助的话)。您是否查看过哪个包/二进制文件需要libsystemd.so.0(libsystemd_219)为什么?@JussiKukkonen在我的源代码目录上运行
rg LIBSYSTEMD_219
rg LIBSYSTEMD.so.0
,我没有得到任何结果。这很容易发生,例如,在rootfs上安装的不是Yocto构建的二进制文件。我希望您能在构建日志中找到上下文:您可以在问题中包含多个错误行。您是否检查了他们的git repos是否有更新版本?我只是运行了
repo sync
来获取所有内容的最新版本并重新构建。同样的问题。问题在于安装python3-systemd-234(如果有帮助的话)。您是否查看过哪个包/二进制文件需要libsystemd.so.0(libsystemd_219)为什么?@JussiKukkonen在我的源代码目录上运行
rg LIBSYSTEMD_219
rg LIBSYSTEMD.so.0
,我没有得到任何结果。这很容易发生,例如,在rootfs上安装的不是Yocto构建的二进制文件。我希望您能在构建日志中找到上下文:您可以在问题中包含多个错误行