Andrew Charles wrote:
> The latest beta of CDAT (Climate Data Analysis Tools, widely used in
> the atmospheric/oceanographic sciences) is distributed with the
> matplotlib source included.
>
> On OSX, while it seems to compile without a hitch, plotting
> interactively (or calling show() ) with the TkAgg backend results in a
> seg fault. The non-interactive backends have so far worked just fine.
>
> The output from a simple interactive hello world line plot with
> --verbose-helpful set is:
>
> =================
> Executing /opt/cdat/bin/python
> $HOME=/Users/acharles
> CONFIGDIR=/Users/acharles/.matplotlib
> matplotlib data path /opt/cdat/lib/python2.5/site-packages/matplotlib/mpl-data
> loaded rc file 
> /opt/cdat/lib/python2.5/site-packages/matplotlib/mpl-data/matplotlibrc
> matplotlib version 0.98.3
> verbose.level helpful
> interactive is False
> units is False
> platform is darwin
> Using fontManager instance from /Users/acharles/.matplotlib/fontManager.cache
> backend TkAgg version 8.5
> Testing matplotlib
> Segmentation fault
> =================
>
> CDAT builds almost everything from source. I've always found building
> matplotlib for OSX to be tricky, so tend to just install binary eggs
> these days. Nevertheless I have tried a couple of solutions:
>
> 1. setting export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig
> 2. editing setupext.py to put the system X11 libraries ahead of any
> fink/macports versions
> 3. setting CFLAGS="-Os -arch i386 -arch ppc" LDFLAGS="-Os -arch i386 -arch 
> ppc"
>
> but to no avail. Is there a simple solution that can be applied to the
> script that builds matplotlib?
>
>   

Andrew:   I think I ran into this before.  Correct me if I'm wrong ..

1) CDAT builds a unix version (not a framework build) of python for you, 
and installs itself in the unix python.
2) CDAT links against X11 versions of all the GUI toolkits (including Tk).

I think the segfault happens because you're picking up either the 
headers or libs for the framework version of Tk included with MacOS X.  
You need to use an X11 build.  To fix this, you need to edit the 
matplotlib setupext.py file to make sure that it's not finding the 
framework version of Tk (i.e, make sure the variable tk_framework ends 
up being zero or False).

HTH,

-Jeff

-- 
Jeffrey S. Whitaker         Phone : (303)497-6313
NOAA/OAR/CDC  R/PSD1        FAX   : (303)497-6449
325 Broadway                Boulder, CO, USA 80305-3328


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to