Attachment "debugsuffix.txt" to
ticket [1879220fff]
added by
eriklns
2008-01-25 03:57:14.
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