Bizarre compile error (gcc 3.4.2 on 6.0-CURRENT)
Conrad J. Sabatier
conrads at cox.net
Sat Oct 16 19:10:18 PDT 2004
Just out of curiosity, I commented out the BROKEN lines in
/usr/ports/sysutils/pib/Makefile and tried building the port.
Right away, I ran into the weirdest error that I cannot make any sense
out of (whitespace added for clarity):
dolphin:root:/usr/ports/sysutils/pib# make
===> Building for pib-1.2
Warning: Object directory not changed from original
/usr/ports/sysutils/pib/work/pib-1.2
cc -O2 -pipe -march=athlon64 -mmmx -m3dnow -msse -msse2 -m64
-I/usr/local/include/tcl8.2-I/usr/local/include/tk8.2
-I/usr/X11R6/include -DUSE_XACCESS-DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1
-DSTDC_HEADERS=1 -DTK_FILE_COUNT=_r-DNEED_MATHERR=1
-DTK_LIBRARY=\"/usr/local/lib/tk8.2\" -c tkXAccess.c
In file included from tkXAccess.c:26:
tkPort.h:136: error: conflicting types for 'Tcl_Panic'
tkPort.h:136: note: a parameter list with an ellipsis can't match an
empty parameter name list declaration
/usr/local/include/tcl8.2/tclDecls.h:38: error: previous declaration of
'Tcl_Panic' was here
tkPort.h:136: error: conflicting types for 'Tcl_Panic'
tkPort.h:136: note: a parameter list with an ellipsis can't
match an empty parameter name list declaration
/usr/local/include/tcl8.2/tclDecls.h:38: error: previous
declaration of'Tcl_Panic' was here
*** Error code 1
What's so strange about this error is that the file where the error
occurs does not even mention Tcl_Panic(). Rather, the offending line
at tkPort.h:136 is this:
extern void panic();
While the line at /usr/local/include/tcl8.2/tclDecls.h:38 is this:
EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
Why would the compiler think that these two completely different
identifiers were referring to the same object?
--
Conrad J. Sabatier <conrads at cox.net> -- "In Unix veritas"
More information about the freebsd-questions
mailing list