This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tim.peters
Recipients
Date 2001-11-11.19:49:52
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=31435

Martin, the MS docs also say the linker generates a warning 
if you mix CRT types -- but it doesn't for mixing debug 
Python with expat or Tcl/Tk.  I don't always believe 
everything in the MS docs <wink>.  But, Mark, I do believe 
them when they say you're on thin ice, and they really 
don't document the ways in which mixing CRTs can be 
disastrous (they give three specific examples, "just a few" 
of "many [unspecified] ways to get into trouble").

Mark, I like _d fine!  It's better than MS's plain "d" 
convention (which I've seen other projects mimic), and so 
long as there *is* a reason that mixing debug and release 
builds can be catastrophic, it's Good to make it painfully 
obvious that something potentially catastrophic is going on 
(note that Anonymous starting getting in trouble when 
he "disabled the use of the pragma in config.h" -- we spent 
most of this bug report trying to convince him the pragma 
wasn't there just to irritate him <wink>).

M and M, I don't *know* that expat.dll and Tcl/Tk work fine 
with a debug Python.  All I've ever done with expat.dll 
then is run our test suite, and that simply doesn't crash; 
and I probably haven't run any Tcl/Tk scripts under a debug 
Python in years.

Mark, I suspect debug Python builds are extremely rare on 
Unix, even among Python developers.  For example, for more 
than a year, I believe I'm the only one who has found test-
suite failures specific to the debug build.

But "compile for debugging" to Unixoids usually means some 
combination of not defining NDEBUG, retaining symbol info, 
and/or cranking down optimization.  The Unix libraries 
don't care about that stuff -- there's nothing there as 
Draconian as the MS-specific _DEBUG effect on libraries.

Martin, It Hurts to tell people not to use _DEBUG on 
Windows:  as a prime example, the MS _DEBUG malloc+free are 
indispensable debugging tools, and indeed have caught bugs 
in Python that escaped even efence.  Users want that for 
their code too.

I don't know where this leaves us.  Probably right where we 
started, except we know better that we're lost <wink>.
History
Date User Action Args
2007-08-23 13:57:15adminlinkissue478339 messages
2007-08-23 13:57:15admincreate