TFTP下载的应用程序不可执行
ARM嵌入式系统 Linux 2.4.19
系统运行起来后,用TFTP从PC主机下载编好的应用程序到某个目录,无法运行,错误提示如下:
Inconsistency detected by ld.so:dynamic_link.h:62:elf_get_dynamic_info:Assersion '!"bad dynamic tag"' failed!
感觉可能是动态加载库的问题
但文件系统root/lib目录下有ld-linux.so.2 -> ld-2.2.3.so
而且我试过用TFTP实时下载的话,静态、动态编译的程序都不行,但若将此可执行文件放进root直接编进系统镜像中就好了
我在网上也没搜到多少有用的信息,各位有碰到这种情况的吗?是什么问题引起的如何解决?
谢谢~~
[ 本帖最后由 lqyhust 于 2007-5-31 15:46 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
Inconsistency detected by ld.so:dynamic_link.h:62:elf_get_dynamic_info:Assersion '!"bad dynamic tag"' failed!
你没交叉编译吧,,好像格式不太对
显然交叉编译了~
说了 同一个可执行程序(文件)如果放到root目录下重新编rootfs和kernel镜像,代替板子原有镜像,启动后那个程序就可正常运行。
但系统启动后,再用tftp下载到内存中就不能执行那些程序
[ 本帖最后由 lqyhust 于 2007-6-1 17:47 编辑 ]
还有一个原因,是人品问题,你下kernerl镜像和 tftp都走的一个外设吗?我这边走无限网卡经常下错,,最好做个chksum,确定没有下错。。
先放到root 中, 启动后ftp 一份, 比较一下是否一致。
另外 chmod 过了?
kernerl镜像都是用tftp下载到flash的
没有做过chksum,但网络状况应该不是问题,板子和主机连在同一个switch上
也有像5楼说的rootfs先放一份,tftp下完后 ls -lh看的文件大小是一样的
另 要是没chmod怎么可以执行。。。
感觉好像和kernel有关系,其中对模块、库的支持等
[ 本帖最后由 lqyhust 于 2007-6-11 20:15 编辑 ]
问题解决了
是tftp的问题,目标板用的tftp程序下载文件不完整,每次少了几个字节,我习惯用ls -lh看,结果没注意到这一点,还走错方向弄了好久,汗~~
换busybox自带的tftp即可
问题往往就在那一点细微之处……教训 引以为戒
我强烈要求鄙视一下你