0
我打算在Ubuntu 11上安装c_icap并获取以下错误。与pthread链接的C_icap错误
make[2]: Entering directory `/home/madmin/milkyway/sol/server/3rdparty/c_icap-0.1.7/tests'
/bin/bash ../libtool --tag=CC --mode=link gcc -I../include/ -D_REENTRANT -g -O2 -Wall -rdynamic -rpath /usr/local/c_icap/lib -o test_cache test_cache.o **-lpthread** ../libicapapi.la -ldl
libtool: link: gcc -I../include/ -D_REENTRANT -g -O2 -Wall -rdynamic -o .libs/test_cache test_cache.o **-lpthread** ../.libs/libicapapi.so -ldl -Wl,-rpath -Wl,/usr/local/c_icap/lib
../.libs/libicapapi.so: undefined reference to `pthread_rwlock_rdlock'
../.libs/libicapapi.so: undefined reference to `pthread_rwlock_wrlock'
../.libs/libicapapi.so: undefined reference to `pthread_rwlock_unlock'
collect2: ld returned 1 exit status
不知道是什么问题,因为我看到了libicap.so的objdump的,并得到了这个
0000000000000000 *UND* 0000000000000000 pthread_rwlock_rdlock
0000000000000000 F *UND* 0000000000000000 [email protected]@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 pthread_rwlock_wrlock
0000000000000000 F *UND* 0000000000000000 [email protected]@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 pthread_rwlock_unlock
这表明,并行线程lib中不缺少的pthread_mutex符号正确解析在objdump中。此外-lpthread标志也存在。
在Makefile中,我有
THREADS_LDADD = -lpthread
c_icap_LDADD = -lpthread libicapapi.la -ldl
任何想法?