【发布时间】:2014-07-28 14:15:30
【问题描述】:
我正在尝试为 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,并在调用 configure 之前使用 -L 将包含生成的库的目录添加到 LDFLAGS,并由 echo $LDFLAGS 验证。
错误来自configure.ac中的以下行
AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])
我已经使用objdump -t 检查了 libcap.a 和 libcap.so 并找到了 cap_init 的条目
00000108 g F .text 000000b4 cap_init <- libcap.a
00001240 g F .text 000000b4 cap_init <- libcap.so
我对 autoconf 没有太多经验,但我不明白为什么找不到 cap_init。
我想我已经发布了相关信息,但如果需要我可以提供更多信息。
【问题讨论】:
-
库搜索路径是否包含
libcap.so或libcap.a的路径?
标签: cross-compiling configure autoconf systemd