Re: [exim] freebsd 8-beta3 build failure

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Randy Bush
CC: exim users, krion
Subject: Re: [exim] freebsd 8-beta3 build failure
On 2009-09-02 at 21:16 -0700, Randy Bush wrote:
> awk '{ print ($1+1) }' cnumber.h > cnumber.temp
> rm -f cnumber.h; mv cnumber.temp cnumber.h
> cc version.c
> rm -f exim
> cc -o exim
> lookups/lookups.a(nis.o)(.text+0x14): In function `nis0_find':
> : undefined reference to `yp_match'


If you're not using NIS, build the port with WITHOUT_NIS defined.
Otherwise, the FreeBSD port Makefile explicitly uncomments it.

Otherwise, the FreeBSD port enables NIS, which isn't the default.  Alas,
the YP/NIS man-pages on FreeBSD are somewhat lacking, per yp(8):
----------------------------8< cut here >8------------------------------
BUGS
     Many more manual pages should be written, especially ypclnt(3).  For the
     time being, seek out a local Sun machine and read the manuals for there.
----------------------------8< cut here >8------------------------------
confirmed in the FreeBSD online manpage viewer as still the case in
FreeBSD 8, so there's no docs on what libraries need to be linked in to
make the functions available.


There's nothing I can spot in /usr/src/UPDATING, looking at:
http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/UPDATING?rev=1.634;content-type=text/plain
and the revision logs.

It appears that yp_match should still be provided by libc:
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/yp/Symbol.map?rev=1.2.10.1;content-type=text/plain

So, unless something is suppressing the default linking in of libc, the
NIS symbols should apparently still be exported from libc.

Unless you have NO_NIS defined somewhere. I have it defined in
/etc/make.conf and am careful to just make sure that I disable NIS
elsewhere. I have no current use for NIS.

Or perhaps something elsewhere has changed NO_NIS to be default in newer
FreeBSD?

-Phil