ports/80366: heimdal port installs /usr/local/include/fnmatch.h clobbering /usr/include/fnmatch.h

Joan Picanyol i Puig lists-freebsd-gnats at biaix.org
Tue Apr 26 16:10:47 UTC 2005


>Number:         80366
>Category:       ports
>Synopsis:       heimdal port installs /usr/local/include/fnmatch.h clobbering /usr/include/fnmatch.h
>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:   Tue Apr 26 16:10:20 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Joan Picanyol i Puig
>Release:        FreeBSD 5.4-RC3 i386
>Organization:
>Environment:
System: FreeBSD calvin.biaix.org 5.4-RC3 FreeBSD 5.4-RC3 #2: Mon Apr 25 21:12:54 CEST 2005 joan at org:/fs/scratch/mount/obj/fs/scratch/mount/src/sys/CALVIN i386


>Description:
	heimdal ports installs /usr/local/include/fnmatch.h without it's declarations wrapped by __BEGIN_DECLS/__END_DECLS macro in order to be used by C++ programs. octave is a victim of this, since it tries to use heimdal's header and fails to link. This has been confirmed independently, see http://docs.FreeBSD.org/cgi/mid.cgi?426A9E94.20705

>How-To-Repeat:
	delete de BROKEN line from octave's makefile and compile it. Install heimdal and try to compile octave. It will fail at link time with an error like:


/usr/local/include -I/usr/include -I. -I.. -I../liboctave -I../src -I../libcruft/misc  -I../glob -I../glob -DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -g -O2 -rdynamic \
-L..  -fPIC -L/usr/local/lib -o octave \
main.o  \
-L../liboctave -L../libcruft -L../src  \
-loctinterp -loctave  -lcruft  ../glob/glob.o ../glob/fnmatch.o  \
 /usr/local/lib/libalapack_r.so -lcblas -lf77blas -latlas  -lreadline  -lncurses -lm  -L/usr/local/lib -L/usr/lib -lg2c -lm
../liboctave/liboctave.so: warning: warning: tempnam() possibly used unsafely; consider using mkstemp()
../liboctave/liboctave.so: undefined reference to `fnmatch(char const*, char const*, int)'

>Fix:
	IMHO, heimdal should use the system's fnmatch header or at the very least avoid clobbering the namespace.



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



More information about the freebsd-ports-bugs mailing list