next up previous contents index
Next: UNURAN on MacOSX Up: XFree86 mode Previous: XFree86 mode   Contents   Index

TCL/TK/BLT

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


next up previous contents index
Next: UNURAN on MacOSX Up: XFree86 mode Previous: XFree86 mode   Contents   Index
Russell Standish 2009-07-01