matplotlib._png failure on 64-bit OSX

I have built matplotlib from svn on OSX 10.6, using the make.osx script that is included with the source, except with the 32-bit build flags removed. The resulting module fails on import, however, with the following:

In [1]: from pylab import *

···

------------------------------------------------------------
Traceback (most recent call last):
  File "<ipython console>", line 1, in <module>
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/pylab.py", line 206, in <module>
    from matplotlib import mpl # pulls in most modules
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/mpl.py", line 2, in <module>
    from matplotlib import axis
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/axis.py", line 14, in <module>
    import matplotlib.text as mtext
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/text.py", line 30, in <module>
    from matplotlib.backend_bases import RendererBase
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/backend_bases.py", line 40, in <module>
    import matplotlib.textpath as textpath
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/textpath.py", line 9, in <module>
    from matplotlib.mathtext import MathTextParser
  File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/mathtext.py", line 52, in <module>
    import matplotlib._png as _png
ImportError: dlopen(/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so, 2): Symbol not found: _png_create_info_struct
  Referenced from: /Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so
  Expected in: flat namespace
in /Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so

This seems like this is related to 32-bit code lurking somewhere, but I'm not sure where. I am surely using 64-bit python.

Any ideas or solutions are appreciated.

I was able to build matplotlib on 64-bit OSX 10.5 just using setup.py. There were some glitches, but if I remember correctly they were due to the underlying libraries being 32-bits rather than 64-bits. One thing to try is to run "otool -L /Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so" to find out which libraries _png.so uses, and to make sure they are 64-bits versions.

--Michiel.

···

--- On Wed, 12/16/09, Christopher Fonnesbeck <fonnesbeck@...2451...> wrote:

From: Christopher Fonnesbeck <fonnesbeck@...2451...>
Subject: [Matplotlib-users] matplotlib._png failure on 64-bit OSX
To: matplotlib-users@lists.sourceforge.net
Date: Wednesday, December 16, 2009, 1:45 AM
I have built matplotlib from svn on
OSX 10.6, using the make.osx script that is included with
the source, except with the 32-bit build flags removed. The
resulting module fails on import, however, with the
following:

In [1]: from pylab import *
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in
<module>
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/pylab.py",
line 1, in <module>
from matplotlib.pylab import *
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/pylab.py",
line 206, in <module>
from matplotlib import mpl # pulls in
most modules
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/mpl.py",
line 2, in <module>
from matplotlib import axis
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/axis.py",
line 14, in <module>
import matplotlib.text as mtext
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/text.py",
line 30, in <module>
from matplotlib.backend_bases import
RendererBase
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/backend_bases.py",
line 40, in <module>
import matplotlib.textpath as textpath
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/textpath.py",
line 9, in <module>
from matplotlib.mathtext import
MathTextParser
File
"/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/mathtext.py",
line 52, in <module>
import matplotlib._png as _png
ImportError:
dlopen(/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so,
2): Symbol not found: _png_create_info_struct
Referenced from:
/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so
Expected in: flat namespace
in
/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8034-py2.6-macosx-10.6-universal.egg/matplotlib/_png.so

This seems like this is related to 32-bit code lurking
somewhere, but I'm not sure where. I am surely using 64-bit
python.

Any ideas or solutions are appreciated.
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer
Community
Take advantage of Verizon's best-in-class app development
support
A streamlined, 14 day to market process makes app
distribution fast and easy
Join now and get one step closer to millions of Verizon
customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users