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.

Michael Madsen

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to