Apologies if this is the wrong place to post this, but I couldn't seem to find
a bug tracker where this would fit.
I have a local Apache running on a Windows machine with mod_wsgi and Python
2.6, and I've just upgraded it to Apache 2.4.
In doing so, I started getting errors from a file in zope.interface,
specifically _zope_interface_coptimizations.pyd - Visual C++ complained that
the run-time wasn't being initialized correctly (R6034).
It turns out this is because this file is missing a manifest to specify that it
needs the Visual C++ 2008 runtime. This wasn't a problem on Apache 2.2, because
Apache 2.2 was compiled with Visual C++ 2008 - Apache 2.4, however, was
compiled with Visual C++ 2010, which causes the .pyd file to use the wrong
runtime - and that means Python 2.6 can't use it. Once I added the same
manifest to the .pyd, everything worked just fine.
A little research told me that the zope.interface eggs were compiled by a
buildbot (zope.wineggbuilder), so it would seem that this needs to be modified
to add a manifest when the corresponding Python version is using one. I don't
know if any other parts of Zope use .pyd files, but I assume the issue applies
to those as well.
I don't know how your buildbot is set up, so I don't know how easy it would be
for you to fix this - different Python versions are built against different
run-times, and not all of them will use a manifest, nor will the manifest be
the same across all versions that do. If you have access to Visual C++ tools
from the builder, they have a tool mt.exe which can add a manifest quite easily.
Again, I apologize if this is the wrong place, and if that is the case, I hope
someone can point me in the right direction. If you have any questions, I'll do
my best to answer them.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -