作者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