[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