I have uploaded binary installers for python2.5 for win32 to the
website, but python2.6 is a different beast all together.  I have been
trying to make Charlie's support work for mingw32 for windows in
release/win32 work, but have hit a huge wall.  Apparently, mingw
doesn't play nicely with MSVCR90.DLL abd Charlie's hack to simply
remove it from the dll_libraries list doesn't work because _png.pyd
needs these functions and the mingw support is broken.  The dirty
details are at

  http://bugs.python.org/issue3308

  http://www.nabble.com/localtime()-and-MSVCRT9-td18329478.html

numpy went through what looks like a painful experience with some of
these issues detailed at

  http://www.mail-archive.com/numpy-discuss...@scipy.org/msg14552.html

  
http://cournape.wordpress.com/2008/09/02/how-to-embed-a-manifest-into-a-dll-with-mingw-tools-only/

It looks like pygame is going to extreme lengths to work around these
problems, as you can see in this code

   
http://github.com/ab3/pygame-mirror/blob/cf8aee7508194b0be734b080f866c5a24e242cec/msys_link_VC_2008_dlls.py

I've burnt a lot of time chasing false leads before I finally figured
out where the root of the problem is, and it appears to be in the
broken gmtime/localtime support in mingw and MSVCR90.DLL.  I have
narrowed the segfault to png_write_info(png_ptr, info_ptr), and since
I believe png uses time support in the info processing, my guess is
this is where the code is failing, but my attempts to build libpng w/o
time support as a quick workaround

  CFLAGS = -Os -D_ftime=ftime64 -DPNG_NO_READ_tIME -DPNG_NO_WRITE_tIME

have not helped (this was mainly a stab in the dark from poking around
the png headers and src)

There are a variety of solutions offered in the links above ranging
from rebuilding a patched mingw from src to the approach taken by
pygame.  Since the rest of mpl is working fine, I was hoping to simply
hack around the broken part of libpng itself (eg removing the time
calls) but have not succeeded yet.  Unfortunately, I won't have a lot
more time to spend on this in the near future, so I was hoping that
someone with a fresh pair of eyes and a little time could find a
solution.

If you can take a look, to get started check out release/win32 from
the TRUNK and build the sdist from the branch with

  > python setup.py sdist --formats=gztar

Drop the tar.gz into release/win32 and then following the instructions
in release/win32/README.txt

Thanks,
JDH

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to