Re: OSX CDAT Matplotlib interactive plots crash
Jeff Whitaker <
jswhit@...>
2008-10-02 11:57:48 GMT
Dean N. Williams wrote:
> Hi Jeff,
>
> You are correct on both assumptions below. On the Mac, we know how
> to build CDAT using framework and have done so for various projects.
> Is there a huge advantage for building CDAT on the Mac using
> framework? Perhaps in the future we will do this as the default.
>
> Thanks for the help on this.
>
> Best regards,
> Dean
Dean: If you use a framework build, you can use the builtin mac-native
Tk and Wx. If you use unix python, you must use X11 versions of the
toolkits. Personally, I don't mind that, but a lot of people don't want
to mess with X11. I like it because you can run stuff on your mac
remotely and display windows over an ssh tunnel.
-Jeff
>
> On Oct 2, 2008, at 4:39 AM, Jeff Whitaker wrote:
>
>> 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
>>
>
--
--
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=/