免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2156 | 回复: 1
打印 上一主题 下一主题

[Linux] openwrt系统添加模块依赖uboot,编译出的可执行程序执行失败 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-24 11:06 |只看该作者 |倒序浏览
./etc/init.d/onu.sh start
/opt/lantiq/bin/onu: can't load library 'crc32.o'

问题描述:
自己的onu模块需要调用uboot-envtools-2012.04.01模块中的fw_env_open等操作函数进行环境变量读写
修改onu的Makefile.am
  1. +#FNSR depend on libenv.a
  2. +onu_CFLAGS += \
  3. +       @IFXOS_INCLUDE_PATH@/../../../root-lantiq/usr/include
  4. +onu_CFLAGS += \
  5. +       @IFXOS_LIBRARY_PATH@/../../root-lantiq/usr/lib
  6. +onu_LDFLAGS += -lenv
复制代码
编译正常,但是系统启动后执行出现开头的错误提示

取消上述修改,包括代码中的调用语句,一切正常。
保持上述修改,取消代码中的调用语句,执行也会出错。

理论问题:
onu模块采用静态链接,如果是找不到库文件应该也是编译阶段出错?为什么错误提示感觉像是动态库的操作一样。

论坛徽章:
0
2 [报告]
发表于 2014-05-25 11:27 |只看该作者
比较了以前可以正常工作的uboot,发现生成crc32.o大小不一样:正常的crc32.o 大小为2964, 出错时的crc32.o有5k多
将正常makefile的语句替换出错的Makefile,生成的crc32.o也为2964

正常make语句:
        mips-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -Wall -shared -fPIC -c -o crc32.o crc32.c
出错make语句:
        mips-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float  -I/home/jiangbo/v642/Lantiq-SDK-FALC_ON-Linux-and-ecos-v6.4.2/staging_dir/target-mips_r2_uClibc-0.9.33.2_falcon/usr/include -I/home/jiangbo/v642/Lantiq-SDK-FALC_ON-Linux-and-ecos-v6.4.2/staging_dir/target-mips_r2_uClibc-0.9.33.2_falcon/include -I/home/jiangbo/v642/Lantiq-SDK-FALC_ON-Linux-and-ecos-v6.4.2/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/home/jiangbo/v642/Lantiq-SDK-FALC_ON-Linux-and-ecos-v6.4.2/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include  -shared -fPIC crc32.c -o crc32.o
差别只是一些-I选项,这些选项会导致编译出的.o文件大小变化吗?

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP