我想在嵌入式Linux設備上使用setcap作爲libcap-bin的一部分。我使用buildroot,看到它具有可用的libcap和libcap-ng包,但不包含libcap-bin。libcap-bin for ARM
我搜索了一下,但無法找到libcap-bin的源代碼來生成ARM目標板的setcap二進制文件。
在Ubuntu我只是安裝:
sudo apt-get install libcap-bin
我在哪裏可以得到的來源和如何建立的libcap斌爲我的ARM板?
我想在嵌入式Linux設備上使用setcap作爲libcap-bin的一部分。我使用buildroot,看到它具有可用的libcap和libcap-ng包,但不包含libcap-bin。libcap-bin for ARM
我搜索了一下,但無法找到libcap-bin的源代碼來生成ARM目標板的setcap二進制文件。
在Ubuntu我只是安裝:
sudo apt-get install libcap-bin
我在哪裏可以得到的來源和如何建立的libcap斌爲我的ARM板?
正如其他人所解釋的那樣:在Ubuntu/Debian發行版中看到的軟件包與您在Buildroot中看到的軟件包之間不會有1:1的匹配。
Ubuntu/Debian軟件包採用源碼包(本例中爲libcap)並從它們創建多個二進制包,以便僅安裝庫,庫+開發文件或庫+程序等。例如,查看http://packages.ubuntu.com/source/quantal/libcap2,它是libcap2源代碼包的參考頁面:它提供了從源代碼包在Ubuntu中生成的二進制包列表。
另一方面,在Buildroot中,只有源碼包的概念。 Buildroot中的一個包==來自給定軟件組件的一個tar包。因此,只有package/libcap
。目前,package/libcap/libcap.mk
被寫入僅安裝庫,因爲沒有人需要setcap
和getcap
程序。但是,您可以擴展package/libcap/libcap.mk
(也可能是package/libcap/Config.in
)以啓用編譯程序。正如另一位評論者指出的那樣,您需要添加attr
作爲依賴關係(儘管評論者錯誤地說Buildroot沒有attr:它確實有,見package/attr
)。
感謝您的回答 - 我瞭解這些差異,現在可以使用Buildroot來構建它。 – PhilBot
buildroot的「libcap」包不包含setcap嗎? libcap-bin只是一個將組件的二進制代碼,開發支持和文檔部分拆分爲單獨的「-bin」,「-dev」和「-doc」包的程序包管理工具。 – unixsmurf
我檢查了構建目錄,似乎setcap.c在那裏。但是,Makefile需要聲明LIBATTR來構建它。在Buildroot中沒有Libattr,我沒有爲Google找到很多信息。 – PhilBot