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 Fix: IMHO, heimdal should use the system's fnmatch header or at the very least avoid clobbering the namespace. 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)'
Responsible Changed From-To: freebsd-ports-bugs->nectar Over to maintainer
State Changed From-To: open->closed Fixed, thanks.