Linux

ld-uClibc.so 失去

  • May 23, 2012

我正在嘗試在 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.3ld-uClibc.so.0但我認為它不正確並且沒有好的結果。我不知道在哪里安裝它,或者我是否必須從原始碼交叉編譯它。

我弄清楚我的系統正在使用哪個 libc。在我的情況下eglibc,對於 Angstrom 2012.05 使用 openembedded 進行交叉編譯是預設選擇。交叉編譯eglibc解決了這個問題。

我寫下一部分僅供參考,因為我詢問了 bitbake 郵件列表,但我在 Google 上沒有找到任何相關資訊:uclibc在 conf 文件中交叉編譯 set ANGSTROMLIBC = “uclibc”(如本常見問題解答中所述)。uclibc不應直接編譯,但它將在您在源上執行 bitbake recipe 時建構,並打包在 /tmp/deploy/ 子目錄下,通常在包的同一目錄中。

引用自:https://unix.stackexchange.com/questions/39086