[問題] 新編譯的cross compiler來編譯程式在舊版子上無法執行

看板LinuxDev作者 (路人甲)時間13年前 (2012/03/16 10:06), 編輯推噓5(505)
留言10則, 5人參與, 最新討論串1/1
各位版友 我的問題如下,用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

03/16 13:11, , 1F
我之前有遇過這個問題,印象中是Library問題
03/16 13:11, 1F

03/16 22:30, , 2F
先在PC上file ./test看看是否是target 上的binary吧
03/16 22:30, 2F

03/16 22:33, , 3F
有沒有可能和ABI版本不合?
03/16 22:33, 3F

03/17 20:53, , 4F
一些基本的gcc lib也要copy到板子上才行, 執行時會參考
03/17 20:53, 4F

03/17 23:30, , 5F
-static編成靜態的,再丟進去跑看看…看是不是lib對應問題
03/17 23:30, 5F

03/19 11:51, , 6F
查了一下發現應該是glibc版本的問題
03/19 11:51, 6F

03/19 11:53, , 7F
原toolchain的glibc是2.7,我想用crosstool-ng 1.14.1編譯
03/19 11:53, 7F

03/19 11:54, , 8F
glibc 2.7發生了錯誤,multiple definition of`_dl_important
03/19 11:54, 8F

03/19 11:56, , 9F
_hwcaps',上網查了雖然有些人有遇到這問題,但是沒有發現解決
03/19 11:56, 9F

03/19 11:56, , 10F
方法,請問有人有類似的經驗嗎?謝謝
03/19 11:56, 10F
文章代碼(AID): #1FOg13Tb (LinuxDev)