There is a known problem building Tcl v8.4.10 with GCC 3.x. The problem is apparently hidden by a bug in gcc4.0. This problem is resolved in the CVS version of Tcl but the fix hasn't made it into a release version yet.
Fix: Add the following patch file to lang/tcl84/files:
I can build tcl 8.4.10 just fine with
/usr/ports/lang/tcl84 # gcc --version
gcc (GCC) 3.4.2 [FreeBSD] 20040728
The problem appears to be specific to the threaded Tcl. That is, I have
WITH_THREADS defined in /etc/make.conf. When I build lang/tcl84 with
this configuration, I receive this error:
tclUnixNotfy.c: In function `Tcl_FinalizeNotifier':
tclUnixNotfy.c:297: too few arguments to function `Tcl_JoinThread'
The thread from tcl-core which describes the problem can be found here:
A better patch (the one that is actually in Tcl's CVS) is:
Patched in CVS, thank you!