Thread: PostgreSQL 8.4.3: configure script on Debian Lenny with libbsd-dev and libbsd0 installed does not detect strlcpy and strlcat functions

Hi to everybody,

on a Debian Lenny system I got the error mentioned above, i. e.
configure reported "no" for both functions, even though the two BSD
compatibility packages mentioned in the subject are installed.
Both functions are declared in

/usr/include/bsd/string.h

When including that header file and linking with "-lbsd", it should be
OK, i. e. the configure checks for both functions should return "yes"
instead of "no".

So, my question is: Why does the configure script not include these
checks on Linux systems (for the bsd/string.h file and libbsd)?

I suspect that this might be a general problem on Linux, not just
limited to Debian Lenny.

(Hopefully, I didn't forget to mention anything. Otherwise, please
don't hesitate to ask.)

Thanks in advance & kind regards,

   Holger
Holger Rauch <holger.rauch@empic.de> writes:
> So, my question is: Why does the configure script not include these
> checks on Linux systems (for the bsd/string.h file and libbsd)?

Well, there are several reasons:

1. I don't think we really care that much --- the src/port/
implementations of those functions work fine, so there's no reason to
jump through hoops to guess what nonstandard place a given platform
might have hidden the functions in.

2. Linking an extra library just to bring in those two functions doesn't
seem like a win.

3. Doesn't -lbsd typically pull in versions of functions that follow old
BSD conventions rather than POSIX-standard behavior?  I'm not sure we
want that at all.  Our code generally assumes that it'll get POSIX
behavior on Linuxen.

            regards, tom lane