cross-compiling - Yocto 交叉编译,为 "ld-linux-armhf.so.3"创建符号链接(symbolic link)

标签 cross-compiling ld yocto

我有预编译的库,我必须在我的 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/

相关文章:

yocto - 构建 yocto 时如何增加磁盘大小

java - 在 iphone 上编程 Scala 应用程序?

c - 如何从交叉编译的二进制文件生成程序集?

c++ - 介子找不到交叉编译库

c++ - 程序入口点 __gxx_personality_sj0 无法位于...

linux - ld 找不到 udev

c++ - 为什么 GCC 将对全局实例的构造函数的调用放入不同的部分(取决于目标)?

yocto - 我如何扩展其他人的 repo list ?

c - 手动编译并使用 make 链接后为 "File or folder not found"

GitLab CI Yocto Build - 如何使用 SSTATE 和 DL_DIR