2019-08-21

Q:ld鏈接railcar的時(shí)候報(bào)錯(cuò)找不到libseccomp

libseccomp.so(lib secure computing mode.shared object)

  • 屬性:The libseccomp library provides an easy to use, platform independent, interface to the Linux Kernel's syscall filtering mechanism。
  • 依賴:libseccomp->libseccomp2->libc6,其中l(wèi)ibc6是GNU C的動(dòng)態(tài)鏈接庫(kù),從屬于glibc(GNU C/linux的重要組件),隨系統(tǒng)安裝。
  • apt install libseccomp:關(guān)鍵創(chuàng)建了如下幾個(gè)文件
    • /lib/架構(gòu)/libseccomp.so.2.4.1(數(shù)字后綴為版本)
    • /lib/架構(gòu)/libseccomp.so.2-->/lib/libseccomp.so.2.4.1(軟鏈接)
    • /usr/lib/架構(gòu)/libseccomp.so-->/lib/seccomp.so.2.4.1(軟鏈接)

ld

  • 在指定了linker="arrch64-linux-gnu-gcc"之后ld會(huì)在如下幾個(gè)文件夾中搜索libseccomp.so(忽略libseccomp.so.2.4.1等so)
    • /usr/local/lib/aarch64-linux-gnu
    • /lib/aarch64-linux-gnu
    • /usr/lib/aarch64-linux-gnu
  • 非交叉編譯環(huán)境下正常ld的搜索路徑,可以看到隨()架構(gòu)區(qū)分
    • /usr/local/lib/x86_64-linux-gnu
    • /lib/x86_64-linux-gnu
    • /usr/lib/x86_64-linux-gnu

交叉編譯包

  • 和交叉編譯相關(guān)的包有兩類
    • toolchain,如g++-8-aarch64-linux-gnu,組成成分為交叉編譯相關(guān)的二進(jìn)制工具
    • lib-cross,如libc6-arm64-cross,組成成分為arm64下的libc6
  • 所以著重調(diào)查lib-cross有關(guān)的包,官網(wǎng)上查找了多個(gè)包的list of files后并沒(méi)有發(fā)現(xiàn)libseccomp的蹤跡

結(jié)論

考慮到libseccomp.so在libc6這種關(guān)鍵的依賴庫(kù)之上,是系統(tǒng)調(diào)用的封裝,并且默認(rèn)系統(tǒng)也是沒(méi)有安裝libseccomp,所以大概率目前源里面并沒(méi)有包含libseccomp:arm64的包,如目前源里沒(méi)有vim:arm64這類軟件,還是需要通過(guò)指定arm64源來(lái)下載。
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容