【问题标题】:Yocto Conflict between attempted installs尝试安装之间的 Yocto 冲突
【发布时间】:2020-07-02 13:14:55
【问题描述】:

我的多个安装文件之间存在冲突。

我收到以下错误:

Transaction Summary
================================================================================
Install  612 Packages

Total size: 110 M Installed size: 403 M Downloading Packages: Running
transaction check Transaction check succeeded. Running transaction
test Error: Transaction check error:   file /etc/iproute2/rt_protos
conflicts between attempted installs of
base-files-3.0.14-r89.nexbox_a95x_s905x and iproute2-4.14.1-r0.aarch64
file /etc/iproute2/rt_tables conflicts between attempted installs of
base-files-3.0.14-r89.nexbox_a95x_s905x and iproute2-4.14.1-r0.aarch64
file /etc/sysctl.conf        conflicts between attempted installs of
base-files-3.0.14-r89.nexbox_a95x_s905x and procps-3.3.12-r0.aarch64

Error Summary
-------------

ERROR: amlogic-image-headless-sd-1.0-r0 do_rootfs: Function failed:
do_rootfs ERROR: Logfile of failure stored in:
/home/user/amlogic-bsp/build/tmp/work/nexbox_a95x_s905x-poky-linux/amlogic-image-headless-sd/1.0-r0/temp/log.do_rootfs.29264
ERROR: Task
(/home/user/amlogic-bsp/meta-meson/recipes-core/images/amlogic-image-headless-sd.bb:do_rootfs)
failed with exit code '1' NOTE: Tasks Summary: Attempted 3131 tasks of
which 3130 didn't need to be rerun and 1 failed.

我在某处看到我应该固定一个文件,但我该怎么做呢?我找不到教程或任何关于这意味着什么的参考。

我也收到以下警告。这有关系吗?

WARNING: Layer meson should set LAYERSERIES_COMPAT_meson in its
conf/layer.conf file to list the core layer names it is compatible
with.

我是从 OpenWRT 过来的 OE 新手。

对于 bitbake,我为以下包添加了层:

meta-openwrt:- OE/Yocto metadata layer for OpenWRT

superna9999/meta-meson:- Upstream Linux Amlogic Meson Yocto/OpenEmbedded Layer

并尝试编译 nexbox-a95x-s905x 图像

【问题讨论】:

    标签: yocto openembedded


    【解决方案1】:

    我认为问题在于 /etc/iproute2/rt_protos 是由来自 meta-openwrt 的基本文件以及来自其他 OE 层的 iproute2 包提供的。图像生成器不清楚使用哪一个,因此存在冲突

    您可以通过在 meta-openwrt 中定义一个 iproute2_%.bbappend 文件来解决这个问题,该文件将从 iproute2 包中删除,并且优先选择 openwrt 提供的文件

    do_install_append() {
      rm -rf ${D}${sysconfdir}/iproute2/rt_protos
    }
    

    应该有帮助。

    【讨论】:

    • 谢谢Khem,我已经这样做了,但还是不行。我已将删除脚本添加到 ./meta-openwrt/recipes-tweaks/iproute2/iproute2_%.bbappend 和 ./meta-openwrt/recipes-tweaks/base-files/iproute2_%.bbappend 和 ./meta-openwrt/recipes -tweaks/base-files/base-files_3.%.bbappend 我也尝试将 rm -rf ${D}${sysconfdir}/iproute2/rt_protos 更改为 rm -rf ${STMP}/etc/iproute2/rt_protos 到看看这是否改变了位置。我也把它放在忙箱调整中。为了更好的衡量。
    • 谢谢Khem,它对我有用。我对 lighttpd conf 文件有同样的问题。这是你第二次救我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2019-12-29
    • 2022-11-05
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多