首页 > 解决方案 > Ubuntu 20.04 交叉编译使用 yocto jethro 无效 gcc 搜索路径

问题描述

我一直在尝试使用来自 yocto-jethro BSP 的工具链进行交叉编译,但出现以下错误:

x86_64-poky-linux-gcc:尝试执行“cc1”时出错:execvp:没有这样的文件或目录

我可以看到搜索目录已被截断。x86_64-poky-linux-gcc --print-search-dirs 返回:

# /mnt/data/Projects/tmr2-sdk/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc --print-search-dirs 

install: oots/x86_64-pokysdk-linux/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/5.2.0/
programs: =oots/x86_64-pokysdk-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/:oots/x86_64-pokysdk-linux/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/:oots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/bin/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/bin/
libraries: =oots/x86_64-pokysdk-linux/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/lib/../lib/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/lib/x86_64-poky-linux/5.2.0/:oots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/lib/../lib/:/not/exist/lib/../lib/x86_64-poky-linux/5.2.0/:/not/exist/lib/x86_64-poky-linux/5.2.0/:/not/exist/lib/../lib/:/not/exist/usr/lib/../lib/x86_64-poky-linux/5.2.0/:/not/exist/usr/lib/x86_64-poky-linux/5.2.0/:/not/exist/usr/lib/../lib/:oots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/lib/:/not/exist/lib/:/not/exist/usr/lib/

目录应以:

 /mnt/data/Projects/tmr2-sdk/sdk/sysroots/

相反,他们开始于:

 oots

当我从 yocto BSP 获取 environment-setup-target 或直接执行编译器时,我得到了相同的结果。

交叉编译在 ubuntu 18 上工作。在 yocto-sumo 中创建的类似 BSP 在 ubuntu 20.04 上工作

当我将 --sysroots 添加到 GCC 时,它只影响库搜索目录。

有没有人知道如何解决问题或在哪里寻找问题?

gcc 将搜索目录放在哪里?我可以看到采购环境设置目标不会影响编译器搜索目录。

感谢您的任何提示

标签: linuxubuntugcccross-compilingyocto

解决方案



推荐阅读