[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: How to get rid of sys_errlist and sys_nerr?
On Tue, 29 Apr 2008 21:42:30 +0200
Hallvard B Furuseth <h.b.furuseth@usit.uio.no> wrote:
> Michael B Allen writes:
> >> Why does libldap need these symbols?
>
> STRERROR() needs either sys_errlist + sys_nerr or strerror(), and it
> prefers the former since the latter may not be thread-safe. (Ought to
> switch to use strerror_r() when someone feels like using time on it,
> but...)
>
> If you run configure on a system with sys_errlist, it'll use that. To
> prevent it, run make distclean to get rid of the old build and then (I
> think)
>
> ./configure --<your config params> ol_cv_have_sys_errlist=no
Actually it's ol_cv_dcl_sys_errlist=no but it breaks the compile:
In file included from /usr/include/stdio.h:754,
from /usr/include/resolv.h:64,
from ../../include/ac/socket.h:56,
from util-int.c:32:
/usr/include/bits/sys_errlist.h:27: error: expected identifier or '(' before numeric constant
/usr/include/bits/sys_errlist.h:28: error: expected identifier or '(' before 'char'
/usr/include/bits/sys_errlist.h:28: error: expected ')' before numeric constant
make[2]: *** [util-int.lo] Error 1
make[2]: Leaving directory `/var/ioplex/openldap-2.3.39/libraries/libldap'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/var/ioplex/openldap-2.3.39/libraries'
make: *** [all-common] Error 1
I'm just going to disable TRACE in os-ip.c.
Hoping you convert to strerror_r one day ...
Thanks,
Mike