[Python-Dev] debug and release python

"Martin v. Löwis" martin at v.loewis.de
Tue Jun 15 22:19:57 CEST 2010


Am 15.06.2010 14:48, schrieb Kristján Valur Jónsson:
> What I mean is that a third party software vendor supplies a
> foobarapp.pyd and a foobarapp_d.pyd dlls that link to python2x.dll
> and python2x_d.dll respectively.  But the latter will have been
> compiled to match a certain settings of the objimpl.h header, which
> may not match whatever is being used to build the local
> python2x_d.dll.  And thus, you get strange and hard to debug linker
> errors when trying to load external libraries.

Ok. But your proposed change doesn't fix that, right?

I.e. even with the change, it would *still* depend on objimpl.h (and 
other) settings what ABI this debug DLL exactly has.

So I think this problem can't really be fixed. Instead, you have to 
trust that the vendor did the most sensible thing when building 
foobarapp.pyd, namely activating *just* the debug build.

Then, if you do the same, it will interoperate just fine.

> IMHO, it is not good practice to expose an API that changes depending
> on preprocessor settings like this.

But there are tons of ABI changes that may happen in a debug build.
If you want to cope with all of them, you really need to recompile the 
source of all extensions.

Regards,
Martin


More information about the Python-Dev mailing list