On Jan 12, 5:56 am, sonnen <sonne...@gmail.com> wrote:

Hi Eric,

> Tkinter is not available on the binary distribution of Sage for Mac OS
> 10.5 (Intel).
> As I wanted to use the TkAgg backend for matplotib I compiled Sage
> from the source. However then again import Tkinter failed (even though
> tk8.4 is installed as a framework). I noticed that _tkinter.so was
> compiled properly, but was replaced
> bu _tkinter_failed.so as import _tkinter did not work because it could
> not
> find symbol __cg_png_create_info_struct referenced in ImageIO and
> expected
> in sage-3.2.3/local/lib/libPng.dylib

Yeah, this is a known issue.

> I found a fix on an apple support 
> listhttp://lists.apple.com/archives/Unix-porting/2008/Sep/msg00033.html

This isn't a fix since it only work on case sensitive filesystems and
as long as Apple ships cases insensitive ones we are out of luck.
Other suggested workarounds like setting something via rpath or
playing games with env variables also doesn't work or breaks easily
when for example moving the Sage install.

> The workaround is to rename libpng.dylib from sage and recompile
> python using
> sage -f python-2.5.2.p!
> and matplotlib
> sage -f matplotlib-0.98.3.p4
> and everything seems to work.

I don't think it will since there are doctests that depend on "our"
libpng. It might be a 10.4 specific issue, but nonetheless we chose to
go with a dynamic libpng even though it creates a certain amount of
problems. It fixed a number of issues, but it introduced those issues
you are hitting. The real solution would probably be to get our hands
on the modifications made by Apple to libpng but AFAIK no one has
found them yet. Maybe nobody has made a serious effort to get them
either. In the end it should be possible to build tcl/tk not as
framework, but that might be some work. I haven't tried and the way it
looks right now I am not going to have time to look into this any time
soon.

> It would be nice if this could be fixed properly, maybe by giving
> another name
> to libpng.dylib in the mac distribution, and the version with tkinter
> included
> in the binary distribution.

This won't work as mentioned above. One way is to link statically, but
that provides its own set of problems.

> Eric Sonnendrucker

Cheers,

Michael
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to