ports/64449: ports dns/bind8, dns/bind84: PORT_REPLACES_BASE_BIND8 replaces header files

Oliver Eikemeier eikemeier at fillmore-labs.com
Fri Mar 19 09:30:16 UTC 2004


	Note: There was a bad value `mediun' for the field `>Priority:'.
	It was set to the default value of `medium'.


>Number:         64449
>Category:       ports
>Synopsis:       ports dns/bind8, dns/bind84: PORT_REPLACES_BASE_BIND8 replaces header files
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 19 01:30:15 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 4.9-STABLE

>Description:

The dns/bind8 and dns/bind84 ports have an option PORT_REPLACES_BASE_BIND8. 
When installed with this option, they replace /usr/include/netdb.h, but not 
the referenced libraries (since gethostbyname et al are in /usr/lib/libc.so). 
This causes ports that compile with -D_REENTRANT to fail, since h_errno is 
redefined to __h_errno, but are not linked against the respective libraries.

>How-To-Repeat:

Try to compile the following program with -D_REENTRANT when bind-base-8.3.* or 
bind84-base-8.4.* is installed:

#include <netdb.h>
int main() {h_errno = 0; return 0;}

> gcc -D_REENTRANT a.c
[...] undefined reference to `__h_errno'

>Fix:

Set
INCLUDE_PATH=   include/bind
when PORT_REPLACES_BASE_BIND8. It is not apparent what the advantage or 
replacing the headers is anyway, since the bind9 ports does not do this.

Linking with libbind seems not to be an options, since it is a) hard to 
determine when this should be done, and b) not easy to insure against getting 
h_errno and gethostbyname from different libraries.

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list