This is my summary of what I found out.

2011/11/12 Friedrich Romstedt <friedrichromst...@gmail.com>:
> So to me this looks pretty much like a gcc-4.2 bug.
>
> MACOSX_DEPLOYMENT_TARGET has nothing todo with the source code.  It
> *should* just add a legacy layer.  What it apparently does is to
> compile for 10.5 instead, and maybe add a legacy layer for 10.6?  Just
> speculating.
>
> So I think we found it, but we cannot solve it apparently.
>
> Only thing is to build libraries for 10.6 with the python.org OS X
> 10.6-only version, so that we can set the deployment target to 10.6
> when building the library (matplotlib).

Hi Mike,

I think it might be that there now, in 2011, with OS X 10.6, there is
no "good" commit anymore.  The mechanism was as follows, for those
commits which were apparently "good": The fontcache was loaded without
any change.  For the "bad" commits, it was attempted to be recreated,
but this lead to Bus error, and hence it was not written.  When the
fontcache is missing, all commits that incorporate the source code
leading to reading that ttf file fail.  They didn't fail until the
deployment target bug was introduced into gcc-4.2.  They also didn't
fail until there was a ttf file present that triggers probably a
special code route.

It probably might even work with gcc-4.0?  I consider that the source
code offending to the bug is in matplotlib from the beginning, as it
isn't apparently a programming mistake.  But still it might be that
you find something that triggers it and that can be solved.

If it would not appear with gcc-4.0 that would explain why we have so
little amount of reports on that issue.  It seems when using the
python.org Python, which is, probably with the exception of 10.6-only
Python, compiled with gcc-4.0, suffices to circumvent the bug.  I'm
not interested in using gcc-4.0, since I compiled libpng, libjpg,
libtiff, libfreetype etc.pp. using gcc-4.2.  I, for my own purpose,
will probably recompile only Python without the 10.5 target.  This
will sort it out.  But I don't know if that is a solution for
packagers always.

I think the offending binary instruction is either in ft2font.so or in
libfreetype.dylib.  In the former case, it might result from
ft2font.cpp or from the CXX stuff I didn't understand.  In the latter
case, upgrading libfreetype might help, but not likely, since to let
the error propagate to there it must depend on the deployment target
variable used to compile ft2font.so (since the whole Bus error depends
on that).  So it is not proabable that the offending instruction is in
libfreetype.dylib.

Friedrich

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to