我有预编译的库,我必须在我的 yocto 图像中包含这些库(已经为 right arch 交叉编译)。配方已创建,所有库均已存在。
但是,我的供应商提供了引用“/lib/ld-linux.so.3”的库。我的 yocto 图像只有“/lib/ld-linux-armhf.so.3”。因此,当运行 bitbake
时,我得到 Can't install my-recipe-1.0-r0@cortexa9hf_vfp_neon: no package provides ld-linux.so.3(GLIBC_2.4)
我该如何纠正这个问题?我的供应商是否提供了引用“ld-linux-armhf.so.3”的库?在“/lib/ld-linux.so.3”创建一个符号链接(symbolic link)?如果是这样,我该如何在 Yocto 中执行此操作?
最佳答案
如果告诉供应商纠正他们的错误(确实如此)是不可能的(这也很可能是这种情况)那么你应该能够做一些像 create meta-mylayer/recipes-core/glibc/glibc_% .bb附加:
do_install_append_tune-cortexa9hf () {
ln -s /lib/ld-linux-armhf.so.3 ${D}/lib/ld-linux.so.3
}
然后重建glibc。如果您使用的是 eglibc 而不是 glibc 的旧版本,请进行适当的更改。
关于cross-compiling - Yocto 交叉编译,为 "ld-linux-armhf.so.3"创建符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36897000/