You will need to download and install TCL/TK 8.3.x, as well as the latest BLT. Go to the unix subdirectories of TCL/TK, and then the BLT source directory, and do
configure --prefix=$HOME/usr make install
I have tested this with TCL/TK 8.3.5 and 8.4.5. Version 8.4.5 does not build on MacOS. With 8.3.5 I encountered an error during the final link stage:
ld: archive: /Users/rks/tcl8.3.5/unix/libtclstub8.3.a has no table of contents, add one with ranlib(1) (can't load from it)The solution proved to repeat the last command fired from the Makefile, replacing -ltclstub8.3 with -ltcl8.3. Alternatively, remove
~/usr/lib/libtclstub.8.3.a and replace it with a symbolic link
to libtcl.8.3.a. Then run make install again.
The OSX linking system is fiendishly complex -- in the name of making things simpler, Apple have created a completely different dynamic linking system (dylib) and Framework system. All very well, but the original unix system needs to be there for compatibility also, so the resulting system is a complete mishmash.
My preferred option is to compile only static versions of the TCL/Tk libraries -- unfortunately with TCL/Tk 8.3.5, the static libraries produced a multiple symbols error, so static linking is out of the question, and one must use the dynamic linker.
Anyway enough of the rant -- if you experience a dynamic library not
found error, set the environment variable DYLD_LIBRARY_PATH to
point to where you have stored the TCL/Tk libraries:
export DYLD_LIBRARY_PATH=$HOME/usr/lib:$DYLD_LIBRARY_PATH