作者swh (路人甲)
看板LinuxDev
标题[问题] 新编译的cross compiler来编译程式在旧版子上无法执行
时间Fri Mar 16 10:06:57 2012
各位版友
我的问题如下,用crosstool-ng编译一套新的toolchain,用这个toolchain编译程式
在手边的版子上跑,但是执行./test 时系统回我"-sh: ./test: not found"
请问一下这大概是什麽问题,我这样做事合理的吗?还是toolchain一定要跟编译系统的是同一套
以下为我的环境
我的toolchain:
1. gcc version 4.3.2 (crosstool-NG 1.14.1)
原本的toolchain:
1. gcc version 4.3.2 (crosstool-NG-1.4.1)
请版友解惑,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.251.77.20
1F:推 JUSTLOVEAYU:我之前有遇过这个问题,印象中是Library问题 03/16 13:11
2F:推 robinliao:先在PC上file ./test看看是否是target 上的binary吧 03/16 22:30
3F:推 robinliao:有没有可能和ABI版本不合? 03/16 22:33
4F:推 sunghau:一些基本的gcc lib也要copy到板子上才行, 执行时会参考 03/17 20:53
5F:推 goldie:-static编成静态的,再丢进去跑看看…看是不是lib对应问题 03/17 23:30
6F:→ swh:查了一下发现应该是glibc版本的问题 03/19 11:51
7F:→ swh:原toolchain的glibc是2.7,我想用crosstool-ng 1.14.1编译 03/19 11:53
8F:→ swh:glibc 2.7发生了错误,multiple definition of`_dl_important 03/19 11:54
9F:→ swh:_hwcaps',上网查了虽然有些人有遇到这问题,但是没有发现解决 03/19 11:56
10F:→ swh:方法,请问有人有类似的经验吗?谢谢 03/19 11:56