[Pythonmac-SIG] Fwd: distutils and stdarg.h

Ned Deily nad at acm.org
Tue Feb 14 15:46:04 CET 2012


In article <rowen-D2392E.14473313022012 at news.gmane.org>,
 "Russell E. Owen" <rowen at uw.edu> wrote:

> In article <nad-FFA1B0.21415009022012 at news.gmane.org>,
>  Ned Deily <nad at acm.org> wrote:
> 
> > In article <rowen-ACAA42.11370509022012 at news.gmane.org>,
> >  "Russell E. Owen" <rowen at uw.edu> wrote:
> > > I suggest you try one of these things:
> > > - Use gcc 4.0.1 to build extensions for 32-bit python.org python. That's 
> > > what I'm still doing. It requires XCode 3.x.
> > 
> > Yes.
> > 
> > > - Use gcc 4.2.1 to build extensions for 64-bit python.org python. Two 
> > > issues:
> > >    - you give up compatibility with MacOS X 10.5.
> > >    - The result will not work with ActiveState's Tcl/Tk. Not a problem 
> > > for you, but both of these are unacceptable for my code.
> > 
> > I don't understand what you mean by this.  The python.org 64-/32-bit 
> > installers have a deployment target of 10.6 so will only work on 10.6 
> > and 10.7 but they should work just fine with ActiveState's Tcl/Tk 8.5.x 
> > on 10.6 and 10.7, just not on 10.5.  In fact, the installers are built 
> > and tested on systems with A/S Tcl/Tk 8.5.x and are their use is 
> > virtually required on 10.6 for any Tkinter applications due to the 
> > broken state of the Apple-supplied in Tcl/Tk 8.5.x in 10.6 (the 
> > Apple-supplied Tcl/Tk 8.5.x is better in 10.7 but still behind the A/S 
> > version wrt critical fixes.)
> > 
> > http://www.python.org/download/mac/tcltk/
> 
> Interesting and promising. The reason I thought python.org's 64-bit 
> python was strange w.r.t. ActiveState Tcl/Tk is explained in a copy of a 
> posting I sent to the matplotlib mailing list 2011-10-12 (appended).
> 
> Keven Walzer suggested the following, which now that I reread it does 
> not implicate the Python in any way, so I apologize.
> 
> > With Tk-Cocoa, typically you see this message when mixing libraries that 
> > are linked to the system Tk in /System/Library/Frameworks/Tk.framework 
> > and another installation (typically ActiveTcl) in 
> > /Library/Frameworks/Tk.framework. OS X gets confused and crashes with 
> > that error message.
> > 
> > The only solution I've found is by making sure that all of your 
> > Tk-linked libraries link to one location or the other. You can do this 
> > by running otool -L on the relevant binaries and seeing where things are 
> > linked. If you're only seeing this issue now after building matplotlib, 
> > then it's logical to assume that matplotlib may have been linked to the 
> > wrong library. You can change the linking by running install_name_tool 
> > to get matplotlib to point to the correct version of Tk.
> 
> His suggestion will almost certainly work, but it seems unfortunate to 
> have to run install_name_tool to fix the matplotlib binaries. Perhaps I 
> could have hidden the system Tcl/Tk before building matplotlib, but 
> again it seems unfortunate to need to do that.
> 
> Any idea, perchance, on how to fix the underlying problem?

You *may* have run into a bug I've noticed a while back in Xcode 3.2.6.  
The Xcode installer appears to screw up the symlinks to /Library within 
/Developer/SDKs.  The net effect is that frameworks installed in 
/Library, like A/S Tcl and Tk, are not found during a build using the 
SDK as they should be.

$ cd /Developer/SDKs/MacOSX10.6.sdk/Library
$ ls -l
total 8
lrwxr-xr-x  1 root  wheel  19 Mar 17 18:24 Frameworks@ -> 
/Library/Frameworks

it ends up with an extra Frameworks directory so that

/Developer/SDKs/MacOSX10.6.sdk/Library/Frameworks/Frameworks/ -> 
/Library/Frameworks

The solution is to manually go in and fix the symlinks in 
/Developer/SDKs/MacOSX10.6.sdk, and remember to do so again if you have 
to reinstall Xcode 3.2.6.  AFAIK, this bug is unique to Xcode 3.2.6, not 
earlier versions of 3.2.x.

-- 
 Ned Deily,
 nad at acm.org



More information about the Pythonmac-SIG mailing list