我有一个Yocto比特面包图像食谱,可以成功地建立。
但是,当使用-c populate_sdk命令生成SDK时,相同的映像配方会失败。
这个错误似乎是由32位和64位版本的库混合造成的,如果只使用二进制文件构建映像,这是很好的,但是头文件在填充SDK根fs时会发生冲突:
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction check error:
file /usr/bin/curl-config from install of lib32-curl-dev-7.53.1-r0.cortexa7hf_neon_vfpv4 conflicts with file from package curl-dev-7.53.1-r0.aarch64
file /usr/include/nettle/version.h from install of lib32-nettle-dev-3.3-r0.cortexa7hf_neon_vfpv4 conflicts with file from package nettle-dev-3.3-r0.aarch64
file /usr/include/nettle/nettle-stdint.h from install of lib32-nettle-dev-3.3-r0.cortexa7hf_neon_vfpv4 conflicts with file from package nettle-dev-3.3-r0.aarch64在不将32位版本的库(食谱)完全排除在生产映像之外的情况下,执行-c populate_sdk的最佳方法是什么?
发布于 2021-12-16 13:59:35
您可以从工具链中删除目标包,从TOOLCHAIN_TARGET_TASK变量中删除它们,并通过从TOOLCHAIN_HOST_TASK中删除它们来宿主包。
例如,要从sdk中删除目标包"curl-dev“,必须在图像配方中添加以下内容:
TOOLCHAIN_TARGET_TASK_remove = "curl-dev"要从sdk中删除相同的主机包,您必须在映像菜谱中添加以下内容:
TOOLCHAIN_HOST_TASK_remove = "curl-dev"https://stackoverflow.com/questions/51765275
复制相似问题