Linux
ld-uClibc.so 失去
我正在嘗試在 Angstrom Linux 上執行執行檔,但 ash 告訴我
-sh: ./myEx: not found
我已經用 readelf 檢查了程序解釋器,它是
root@beagleboard:~# readelf -l myEx | grep interpreter [Requesting program interpreter: /lib/ld-uClibc.so.0]
缺少此程序解釋器。我嘗試過符號連結
ld-linux.so.3
,ld-uClibc.so.0
但我認為它不正確並且沒有好的結果。我不知道在哪里安裝它,或者我是否必須從原始碼交叉編譯它。
我弄清楚我的系統正在使用哪個 libc。在我的情況下
eglibc
,對於 Angstrom 2012.05 使用 openembedded 進行交叉編譯是預設選擇。交叉編譯eglibc
解決了這個問題。我寫下一部分僅供參考,因為我詢問了 bitbake 郵件列表,但我在 Google 上沒有找到任何相關資訊:
uclibc
在 conf 文件中交叉編譯 set ANGSTROMLIBC = “uclibc”(如本常見問題解答中所述)。uclibc
不應直接編譯,但它將在您在源上執行 bitbake recipe 時建構,並打包在 /tmp/deploy/ 子目錄下,通常在包的同一目錄中。