我的多个安装文件之间存在冲突。
我收到以下错误:
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:- OpenWRT 的 OE/Yocto 元数据层
superna9999/meta-meson:- 上游 Linux Amlogic Meson Yocto/OpenEmbedded 层
并尝试编译nexbox-a95x-s905x
图像
最佳答案
我认为问题在于/etc/iproute2/rt_protos 是由来自 meta-openwrt 的基本文件以及来自其他 OE 层的 iproute2 包提供的。图像生成器不清楚使用哪一个,因此会发生冲突
你可以通过在meta-openwrt中定义一个iproute2_%.bbappend文件来解决这个问题,这个文件会从iproute2包中删除,并优先选择openwrt提供的文件
do_install_append() {
rm -rf ${D}${sysconfdir}/iproute2/rt_protos
}
应该有帮助。
关于Yocto 尝试安装之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50664736/