In article <527ac83f.9040...@codebykevin.com>,
 Kevin Walzer <k...@codebykevin.com> wrote:
> On 11/6/13, 5:02 PM, Guido van Rossum wrote:
> > Sadly, on Mac with Python 3 and Tcl/Tk 8.5 this exhibits exactly the
> > problem I am complaining about -- the updates are erratic and often need
> > to be helped along by moving the mouse or changing the focus.
> 
> You may be seeing an issue that's specific to recent versions of Tk on 
> the Mac.
> 
> In 2009, Apple sponsored a port of Tk from the Carbon API to the Cocoa 
> API because they had deprecated Carbon.

Also, as a result of the deprecation, Apple changed its mind about providing 
64-bit APIs for Carbon so the Cocoa port was needed to run native (non-X11) Tk 
at all in 64-bit mode, the default for executables starting with 10.6 (on 
capable processors).

A sore point: Apple is not keeping up with the current releases of Tcl/Tk 8.5 
since the Cocoa Tk was first shipped in 10.6 (and which had critical 
problems), thus missing out on serious bug fixes that Kevin and others have 
implemented and which has caused no end of headaches for Python users and for 
maintainers.  I would advise to make sure _tkinter.so is linking with a 
current Tcl/Tk 8.5.  For builds from source on OS X 10.6+, the easiest thing 
to do is install the latest 8.5 from ActiveState, which installs Tcl and Tk 
frameworks in /Library/Frameworks and which are searched before the 
Apple-supplied frameworks in /System/Library/Frameworks.  The most recent 
version as of now is 8.5.15.1 which includes the latest fix for 10.9 Mavericks.

$ otool -L build/lib.macosx-10.8-x86_64-3.4-pydebug/_tkinter.so
build/lib.macosx-10.8-x86_64-3.4-pydebug/_tkinter.so:
   /Library/Frameworks/Tcl.framework/Versions/8.5/Tcl (compatibility version 
8.5.0, current version 8.5.15)
   /Library/Frameworks/Tk.framework/Versions/8.5/Tk (compatibility version 
8.5.0, current version 8.5.15)
   /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 
169.3.0)

If you are building with a macosx SDK, you will probably have to create 
directories and symlinks to the real /Library/Frameworks in the SDK root.

-- 
 Ned Deily,
 n...@acm.org

_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
https://mail.python.org/mailman/listinfo/tkinter-discuss

Reply via email to