我有一個二進制文件,我需要在使用uclibc的嵌入式系統上工作,二進制文件是針對glibc編譯的,應該如何工作?使用uclibc鏈接器進行glibc編譯的二進制文件?
我得到一個錯誤,說當我嘗試運行它時,該二進制文件不存在,所以我檢查了哪些庫丟失了。
libc6: /lib/x86_64-linux-gnu/libdl.so.2
libc6: /lib/x86_64-linux-gnu/librt.so.1
libc6: /lib/x86_64-linux-gnu/libm.so.6
libc6: /lib/x86_64-linux-gnu/libc.so.6
libc6: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
libc6: /lib/x86_64-linux-gnu/libnsl.so.1
我能夠所有這些,但一個符號鏈接到我的系統上我的版本(舊版本,但我希望它的工作作爲二進制不應該需要這些新版本):
libc6: /lib/x86_64-linux-gnu/libdl.so.2 --------------------- ln -s /lib/libdl-0.9.33.2.so libdl.so.2
libc6: /lib/x86_64-linux-gnu/librt.so.1 --------------------- ln -s /lib/librt-0.9.33.2.so librt.so.1
libc6: /lib/x86_64-linux-gnu/libm.so.6 --------------------- ln -s /lib/libm.so.0 libm.so.6
libc6: /lib/x86_64-linux-gnu/libc.so.6 --------------------- ln -s /lib/libc.so.0 libc.so.6
libc6: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ----------------
libc6: /lib/x86_64-linux-gnu/libnsl.so.1 --------------------- ln -s /lib/libnsl-0.9.33.2.so libnsl.so.1
ld-linux-x86-64.so.2
不存在(也沒有任何庫指向如ld-2.19.so
,這是它指向我的主機pc上),這是一個特定於glibc的鏈接器嗎?我有/lib/ld64-uClibc.so.0/
//lib/ld64-uClibc-0.9.33.2.so
但符號鏈接沒有任何效果(仍得到No such file or directory
),是否即使是正確的事情或做我需要得到ld-linux-x86-64.so.2
內置到系統中?