One issue comes up with BLT is that it includes variants of Tcl/Tk
header files, and they are manually maintained with ifdefs that track
how things change in those packages. I imagine Howlett did that
because he uses Tk data structures and needs to know how their ABIs
change. Then various distribution maintainer people come a long and try
to make those ifdefs more up to date for versions of Tcl/Tk they'd like
to have work with BLT.
Anyway, one consequence of this is that if BLT is compiled on a old or
new system you may get binaries that work right or don't, depending on
what Tcl/Tk binaries you have compared to the Tcl/Tk system that was
available when the BLT package was made.