manu@... wrote:
> Matt Kettler <mkettler@...> wrote:
>
>> Here's my configure:
>> ./configure --enable-dnsrbl --with-libbind=/usr/lib/
>> <snip>
>> checking for vsyslog... no
>> <snip>
>>
>> However, I do have vsyslog, so the make fails:
>>
>> [milter-greylist-3.0rc5]$ make
>> gcc -g -O2 -Wall -I/usr/lib//include/bind -I/usr/lib//include
>> -D_XOPEN_SOURCE=500 -D USE_DNSRBL -D_BSD_SOURCE -c -o milter-greylist.o
>> milter-greylist.c
>> milter-greylist.c: In function `vsyslog':
>> milter-greylist.c:1437: argument `fmt' doesn't match prototype
>> /usr/include/sys/syslog.h:188: prototype declaration
>>
>>
>> If I hack config.h to define HAVE_VSYSLOG it works great.
>
> What is your OS?
It's a patched Redhat 9 box. (Most notable: I had to build my own libbind
because libresolv doesn't export some of the functions you're using, and none of
the OS native packages includes libbind.)
> Do you have vsyslog in <sys/syslog.h> or not?
Given the last line of the error message, yes.
/usr/include/sys/syslog.h:188: prototype declaration
> Can you show the relevant part of config.log, where vsyslog is checked?
>
Ahh, now I see the cause.. libbind is breaking it because it requires pthread:
configure:5329: result: no
configure:5241: checking for vsyslog
configure:5298: gcc -o conftest -g -O2 -Wall -I/usr/lib//include/bind
-I/usr/lib//include -L/usr/lib//lib -Wl,--rpath=/usr/lib//lib conftest.c
-lbind >&5
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libbind.so: undefined
reference to `pthread_getspecific'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libbind.so: undefined
reference to `pthread_key_create'
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libbind.so: undefined
reference to `pthread_setspecific'
collect2: ld returned 1 exit status
You might want to try to find a way to drop -lbind from the configure tests, or
add -lpthread.