2014-06-07 86 views
2

我試圖交叉編譯systemd-213爲ARM,並在configure交叉編譯systemd:cap_init沒有找到

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使用-L,經echo $LDFLAGS驗證,然後致電configure

這個錯誤來自下面的行configure.ac

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

我已經研究過這兩個libcap.a與objdump -t libcap.so,發現

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

我不爲cap_init條目有很多autoconf的經驗,但我不明白爲什麼cap_init找不到。

我想我已經發布了相關信息,但如果需要,我可以提供更多信息。

+0

庫搜索路徑是否包含'libcap.so'或'libcap.a'的路徑? –

回答

5

我有同樣的問題,但我正在交叉編譯pulseaudio。問題不是libcap.so無法找到;問題是找不到libcap.so所需的libattr.so。我在config.log文件中看到了這個。 我的解決方案是在引導和配置之前將-lattr添加到LDFLAGS環境變量中。

2

編譯systemd-204時也得到了相同的錯誤。解決方案是執行:

sudo apt-get install libcap-dev