On recent CURRENT (FreeBSD 12.0-CURRENT #10 r327512: Wed Jan 3 08:11:59 CET 2018 amd, LLD_IS_LD enabled), port lang/tcl86 fails to build properly due to the following error: [...] /usr/bin/sed -i.bak -e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' -e 's,^COMPAT_OBJS.*,,' /usr/ports/lang/tcl86/work/tcl8.6.8/unix/Makefile ===> Building for tcl86-8.6.8 /usr/sbin/dtrace -h -o tclDTrace.h -s /usr/ports/lang/tcl86/work/tcl8.6.8/generic/tclDTrace.d dtrace: failed to compile script /usr/ports/lang/tcl86/work/tcl8.6.8/generic/tclDTrace.d: "/usr/lib/dtrace/mbuf.d", line 114: syntax error near "caddr_t" *** [tclDTrace.h] Error code 1 make[2]: stopped in /usr/ports/lang/tcl86/work/tcl8.6.8/unix 1 error make[2]: stopped in /usr/ports/lang/tcl86/work/tcl8.6.8/unix ===> Compilation failed unexpectedly.
I can't reproduce it on ref12-amd64, which is currently at r325426. This is not something particularly related to Tcl, something's probably wrong with your DTrace support. How about your kernel config?
FreeBSD 12.0-CURRENT #12 r327502: Tue Jan 2 22:19:51 CET 2018 amd64, still the same, my kernel has these options enabled: options KDTRACE_FRAME # Ensure frames are compiled in options KDTRACE_HOOKS # Kernel DTrace hooks The problem occurs on all of our boxes (at least 4) with revision >327350.
Please see if this helps: https://lists.freebsd.org/pipermail/freebsd-tcltk/2016-December/000446.html
We have had errors of this type when the kernel's CTF info gets too large. This can happen due to bugs in the toolchain and/or inconsistencies in kernel type info (e.g, conditionally defined fields in structs). Last year the number of kernel types legitimately grew past the limit, so we added CTFv3, which great increases the limit and thus prevents (or hides) errors of this type. I therefore believe there is nothing to do here. In particular, lang/tcl86 has dtrace enabled by default and we haven't seen issues of this sort for a while. Please feel to re-open if you disagree.