我想在嵌入式Linux设备上使用setcap(libcap-bin的一部分)。我使用buildroot,看看它有libcap和libcap-ng包,但不是libcap-bin。
我用google搜索但找不到libcap-bin的源代码来为ARM目标板生成setcap二进制文件。
在Ubuntu上我只需安装:
sudo apt-get install libcap-bin
我在哪里可以获得源代码,如何为ARM板构建libcap-bin?
答案 0 :(得分:2)
正如其他人所解释的那样:你不能指望你在Ubuntu / Debian发行版中看到的包与你在Buildroot中看到的包之间的1:1匹配。
Ubuntu / Debian软件包采用源包(在本例中为libcap)并从中创建多个二进制包,以便只允许安装库,库+开发文件或库+程序等。例如,查看http://packages.ubuntu.com/source/quantal/libcap2,这是libcap2源包的参考页面:它为您提供了从此源包中在Ubuntu中生成的二进制包列表。
另一方面,在Buildroot中,只有源包的概念。 Buildroot中的一个包= =来自给定软件组件的一个tarball。因此,只有package/libcap
。目前,package/libcap/libcap.mk
仅写入安装库,因为没有人需要setcap
和getcap
程序。但您可以扩展package/libcap/libcap.mk
(以及可能package/libcap/Config.in
)以启用程序的编译。正如另一位评论者指出的那样,您需要添加attr
作为依赖项(尽管评论者错误地说Buildroot没有attr:它确实拥有它,请参阅package/attr
)。