4

我正在尝试为 ARM 交叉编译 systemd-213 并且在configure

checking for library containing dlsym... -ldl
checking sys/capability.h usability... yes
checking sys/capability.h presence... yes
checking for sys/capability.h... yes
checking linux/btrfs.h usability... no
checking linux/btrfs.h presence... no
checking for linux/btrfs.h... no
checking for library containing clock_gettime... -lrt
checking for library containing cap_init... no
configure: error: *** POSIX caps library not found

我已经交叉编译了 libcap 并将包含生成的库的目录添加到使用LDFLAGS之前调用.-Lecho $LDFLAGSconfigure

错误来自以下行configure.ac

AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])

我检查了 libcap.a 和 libcap.soobjdump -t并找到了 cap_init 的条目

00000108 g     F .text  000000b4 cap_init  <- libcap.a
00001240 g     F .text  000000b4 cap_init  <- libcap.so

我对 autoconf 没有太多经验,但我不明白为什么cap_init找不到。

我想我已经发布了相关信息,但如果需要我可以提供更多信息。

4

3 回答 3

7

编译 systemd-204 时也出现同样的错误。解决方案是执行:

sudo apt-get install libcap-dev
于 2015-11-02T07:53:06.107 回答
6

我有同样的问题,但我正在交叉编译pulseaudio。问题不在于libcap.so找不到;问题是,无法找到libattr.so所需的。libcap.so我在config.log文件中看到了这一点。我的解决方案是在引导和配置之前添加-lattr到环境变量中。LDFLAGS

于 2014-10-02T13:18:03.393 回答
2

对我来说,这条信息:

 meson.build:680:8: ERROR:  Problem encountered: POSIX caps headers not found

意思是先做这个(centos)

 yum install libcap-devel
于 2019-05-10T17:49:31.080 回答