I experienced that Linux builds of the Tcl and Tk source distributions generate binaries whose names do not distinguish debug and non-debug builds (using the suffix "g"). This makes that when installing them, debug builds overwrite non-debug builds (or vice versa, depending on the build order). Remarkable in this respect is that: - Tcl8.4.17 behaves differently from Tcl8.5.0 (see table below); - Cross-building from Linux -> win32 behaves differently from native Linux builds: all binaries in a cross debug build carry the suffix "g". I've been using the flags --disable-symbols and --enable-symbols to ./configure, followed by "make", to generate the different types of build. Names of binaries in the table below as they were installed using "make install". NATIVE-NON-DEBUG NATIVE DEBUG CROSS DEBUG * Tcl8.4.17 library libtcl8.4.so libtcl8.4g.so libtcl84g.dll stubs library libtclstub8.4.a libtclstub8.4g.a libtclstub84g.a application tclsh8.4 tclsh8.4 (*) tclsh84g.exe (*) * Tk8.4.17 library libtk8.4.so libtk8.4g.so -- stubs library libtkstub8.4.a libtkstub8.4g.a -- application wish8.4 wish8.4 (*) -- * Tcl8.5.0 library libtcl8.5.so libtcl8.5.so (**) libtcl85g.dll stubs library libtclstub8.5.a libtclstub8.5.a (**) libtclstub85g.a application tclsh8.5 tclsh8.5 (*) tclsh85g.exe (*) * Tk8.5.0 library libtk8.5.so libtk8.5.so (**) -- stubs library libtkstub8.5.a libtkstub8.5.a (**) -- application wish8.5 wish8.5 (*) -- (*) means: I'm unsure whether the names are OK, and in any case don't understand why the cross and native builds behave differently. (**) means: "I didn't expect the same names for Linux native debug and non-debug builds". -- means: not investigated Sincerely, Erik Leunissen