查看: 18425|回复: 6

[求助] yocto工具链手动编译第3方源码报错找不到gnu/stubs-soft.h

[复制链接]

该用户从未签到

4

主题

14

帖子

0

注册会员

Rank: 2

积分
78
最后登录
2016-6-27
发表于 2016-2-25 09:30:05 | 显示全部楼层 |阅读模式
yocto工具链手动编译第3方源码报错yocto工具链 已单独编译出来了,
指定了工具链CC =/opt/poky/1.7/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc


当手动编译openssl或其他源码时报错,基本一致,但编译rt3070 wifi驱动则正常,下面是报错打印
making all in crypto...
make[1]: Entering directory `/home/like/newWorkbank/wifi/openssl-0.9.8e/crypto'
( echo "#ifndef MK1MF_BUILD"; \
        echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
        echo '  #define CFLAGS "/opt/poky/1.7/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -O"'; \
        echo '  #define PLATFORM "dist"'; \
        echo "  #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
        echo '#endif' ) >buildinf.h
/opt/poky/1.7/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -I. -I.. -I../include -O   -c -o cryptlib.o cryptlib.c
In file included from /opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/features.h:389:0,
                 from /opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/stdlib.h:24,
                 from cryptlib.h:62,
                 from cryptlib.c:117:
/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
# include <gnu/stubs-soft.h>
                             ^
compilation terminated.
make[1]: *** [cryptlib.o] Error 1


提示fatal error: gnu/stubs-soft.h: No such file or directory ,大神们请问是什么原因呢?如果解决这个工具链问题?多谢





我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

4

主题

14

帖子

0

注册会员

Rank: 2

积分
78
最后登录
2016-6-27
 楼主| 发表于 2016-3-7 14:07:35 | 显示全部楼层
自己查清楚了,不能直接指定工具链CC =/opt/poky/1.7/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
或者指定CC= $(CROSS_COMPILE)gcc ,

具体原因是当 source /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
这样export后可以看到,cc后面还有一堆参数要设置,所以不能直接指定上面的,
declare -x AS="arm-poky-linux-gnueabi-as "
declare -x CC="arm-poky-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
declare -x CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
....


所以如果你用arm-none-linux-gnueabi-gcc -o test test.c   绝对会报这个gnu/stubs-soft.h问题的,

正确编译时直接用 $CC 就行,  $CC   -o test test.c
或者最好 修改第3方源码的makefile ,设置如下
CC=arm-poky-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi

再次编译就不会出问题了,



回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
18
最后登录
2016-10-1
发表于 2016-9-23 14:58:36 | 显示全部楼层
楼主你好,初学Linux菜鸟,我跟你遇到一样的错误,已经困扰我4天了,至今没有解决。。求楼主帮忙指导下.....我的邮箱543895620@qq.com
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
18
最后登录
2016-10-1
发表于 2016-9-23 15:22:58 | 显示全部楼层
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-6-10 15:47
  • 签到天数: 1251 天

    连续签到: 1 天

    [LV.10]以坛为家III

    6

    主题

    2396

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    7534
    最后登录
    2025-5-23
    发表于 2016-9-23 15:29:41 | 显示全部楼层
    没玩过
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    18
    最后登录
    2016-10-1
    发表于 2016-9-28 10:29:27 | 显示全部楼层
    楼主,我是在用C语言访问sqlite的时候出现这个错误“gnu/stubs-soft.h:No such file or directiry”,我也按楼主的方式改为了CC -o test test.c 。我的虚拟机跟楼主一样也是在嵌入式开发而且配置的环境,我一编译就出现这个错误。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-10-20 15:59
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    6
    最后登录
    2016-10-20
    发表于 2016-10-20 15:58:18 | 显示全部楼层
    常在我心 发表于 2016-3-7 14:07
    自己查清楚了,不能直接指定工具链CC =/opt/poky/1.7/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux ...

    你好,本人在用yocto工具链遇到一个问题,操作如下:
    source /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
    $CC -o test test.c
    报错
    zsh: no such file or directory: arm-poky-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
    请问这是什么原因?由于之前一直没有接触过yocto,不知道怎么解决,麻烦帮忙看看,谢谢!
    注:test.c只是一个很简单的测试程序
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 11:53 , Processed in 0.097772 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表