Yocto 交叉编译,为 "ld-linux-armhf.so.3" 创建符号 link
Yocto cross compiling, creating symbolic link for "ld-linux-armhf.so.3"
我有预编译的库,我必须在我的 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”处创建符号 link?如果是这样,我如何在 Yocto 中执行此操作?
如果告诉供应商纠正他们的错误(确实如此)是不可能的(这也很可能是这种情况),那么您应该能够执行类似 create meta-mylayer/recipes-core/glibc/glibc_%.bbappend 的操作:
do_install_append_tune-cortexa9hf () {
ln -s /lib/ld-linux-armhf.so.3 ${D}/lib/ld-linux.so.3
}
然后重建glibc。如果您使用的是 eglibc 而不是 glibc 的旧版本,请进行适当的更改。
ln -s /lib/ld-2.11.1.so /lib/ld-linux-armhf.so.3
我有预编译的库,我必须在我的 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”处创建符号 link?如果是这样,我如何在 Yocto 中执行此操作?
如果告诉供应商纠正他们的错误(确实如此)是不可能的(这也很可能是这种情况),那么您应该能够执行类似 create meta-mylayer/recipes-core/glibc/glibc_%.bbappend 的操作:
do_install_append_tune-cortexa9hf () {
ln -s /lib/ld-linux-armhf.so.3 ${D}/lib/ld-linux.so.3
}
然后重建glibc。如果您使用的是 eglibc 而不是 glibc 的旧版本,请进行适当的更改。
ln -s /lib/ld-2.11.1.so /lib/ld-linux-armhf.so.3