Re: [問題] ARM execution No such file or dictio …
: 我剛剛利用arm-linux-gcc編譯出一個executable file
: 將檔案燒至ARM 9板上,進去執行的時候,卻告訴我No such file or dictionary
依過去的處理經驗
通常碰到這種問題時
檢測方式可以如下進行
1. 檔案執行權限的問題
使用某些terminal將檔案從host端傳輸到target端時
會有這種問題狀況產生
: 推 extrawave:更改檔案權限試試,chmod +x file_name 07/30 15:20
: → kaeluno1:你ls後有看到hello嗎? 07/30 16:26
2. 若靜態編譯過的檔案可以執行,但是動態編譯過的檔案卻無法執行時
可以依所產生的error訊息來判斷
a. error訊息提示缺少某library,那麼便是少了某library或相關的library
b. error訊息提示No such file or dictionary,那麼很可能就是library版本不匹配
: → septemhill:以上兩個步驟我都有試過 07/30 16:48
: → septemhill:但是還是沒有辦法 07/30 16:48
: → septemhill:可是我編成static的話,卻又可以 07/30 16:48
: → septemhill:所以想請問,這是什麼樣的問題? 07/30 16:49
: → septemhill:因為印象中如果是少lib,應該不會是這種訊息才是 07/30 16:49
: → richliu:用 arm-linux-ldd 看一下檔案要什麼 library, 07/30 20:13
: → richliu:再檢查你的 Target board 是不是有這些檔案 07/30 20:13
: → septemhill:我的toolchain中沒有arm-linux-ldd這個指令 07/30 20:24
: → septemhill:我利用arm-linux-strings 做取代 07/30 20:25
: → septemhill:找到的lib,都已經放到rootfs底下的/lib中了 07/30 20:25
: → septemhill:我也有確認過檔案是燒在rootfs中 07/30 20:26
: 推 kiazo:會是ld的問題嗎... 07/30 20:33
: 推 askacis:arm-linux-readelf -a hello | grep "Shared library" 07/30 22:49
: 推 askacis:另外要確定C函式庫比如libc.so.6之類的也有放進去 07/30 22:54
: 推 askacis:還有shared library基本的ld-linux.so.2也要放喔 07/30 22:58
: 推 askacis:再不然就把/lib下的屬性都改成777試試看吧~~ 07/30 23:00
: 推 LucasChen:toolchain是你自己做的還是arm板廠商提供的? 07/31 11:38
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.42.53
→
07/31 13:36, , 1F
07/31 13:36, 1F
→
07/31 13:36, , 2F
07/31 13:36, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 6 篇):