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

2012-02-14 Thread Ned Deily
In article rowen-d2392e.14473313022...@news.gmane.org,
 Russell E. Owen ro...@uw.edu wrote:

 In article nad-ffa1b0.21415009022...@news.gmane.org,
  Ned Deily n...@acm.org wrote:
 
  In article rowen-acaa42.11370509022...@news.gmane.org,
   Russell E. Owen ro...@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,
 n...@acm.org

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-14 Thread Russell E. Owen
In article nad-d7677e.15460414022...@news.gmane.org,
 Ned Deily n...@acm.org wrote:

...
 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.

My symlinks are broken as you describe (though oddly 
/Developer/SDKs/MacOSX10.6.sdk/Library/Frameworks contains both the 
symlink Frameworks-Library/Frameworks that you mentioned and also 
PluginManager.framework).

I'll fix it and try building matplotlib again. Thank you very much!

-- Russell

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-14 Thread Ned Deily
In article rowen-7e9d15.12573914022...@news.gmane.org,
 Russell E. Owen ro...@uw.edu wrote:
 My symlinks are broken as you describe (though oddly 
 /Developer/SDKs/MacOSX10.6.sdk/Library/Frameworks contains both the 
 symlink Frameworks-Library/Frameworks that you mentioned and also 
 PluginManager.framework).
 
 I'll fix it and try building matplotlib again. Thank you very much!

Glad it helped.  I've opened Issue14018 to add a check to the OS X 
installer build script to make sure that tkinter is linked as expected 
with the A/S frameworks.

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

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-13 Thread Russell E. Owen
In article nad-ffa1b0.21415009022...@news.gmane.org,
 Ned Deily n...@acm.org wrote:

 In article rowen-acaa42.11370509022...@news.gmane.org,
  Russell E. Owen ro...@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?

-- Russell

---

I'm on MacOS X 10.6.8 using 64-bit Python 2.7.2 from python.org (the 
10.6 version) and ActiveState Tcl/Tk 8.5.10.

I would like to build matplotlib 1.1.0 (in fact I'd like to build an 
official binary installer) and am running into problems. The build and 
install goes fine, though with a few odd messages (see appended log). 
But importing pylab rusults in:
objc[1083]: Class TKApplication is implemented in both 
/Library/Frameworks/Tk.framework/Versions/8.5/Tk and 
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two 
will be used. Which one is undefined.
objc[1083]: Class TKMenu is implemented in both 
/Library/Frameworks/Tk.framework/Versions/8.5/Tk and 
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two 
will be used. Which one is undefined.
objc[1083]: Class TKContentView is implemented in both 
/Library/Frameworks/Tk.framework/Versions/8.5/Tk and 
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two 
will be used. Which one is undefined.
objc[1083]: Class TKWindow is implemented in both 
/Library/Frameworks/Tk.framework/Versions/8.5/Tk and 
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two 
will be used. Which one is undefined.

Any idea how to deal with this? Google turned up others with this 
problem but no obvious solution.

-- Russell

P.S. partial log of build (not install) of matplotlib:

Edit setupext.py to point it to Apple's built-in libraries, plus include 
/usr/local (which doesn't have a lot in it --nothing in lib or includes):
   'darwin' : ['/usr/local', '/usr', '/usr/X11'],

$ python setup.py build
BUILDING MATPLOTLIB
???matplotlib: 1.1.0
???python: 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)
???[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
?platform: darwin

REQUIRED DEPENDENCIES
numpy: 1.6.1
freetype2: found, but unknown version (no pkg-config)

OPTIONAL BACKEND DEPENDENCIES
???libpng: found, but unknown version (no pkg-config)
??Tkinter: Tkinter: version not identified, Tk: 8.5, Tcl: 8.5
?Gtk+: no
???* Building for Gtk+ requires pygtk; you must be 

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

2012-02-10 Thread Chris Barker
On Thu, Feb 9, 2012 at 1:30 PM, Chris Barker chris.bar...@noaa.gov wrote:
  If it is using C++
 code, though, you may have to override that yourself since Python itself
 does not contain any C++ code and I don't think there is any special
 code in Distutils to override C++ stuff.

 That could be it, too.

 2) how do I use 4.01. with distutils?

 For the any C++ modules, you may need to override the C++ compiler
 choice by using a CXX environment variable.

 OK -- I'll try that.

Bingo! I did:

$ export CXX=/usr/bin/g++-4.0

then

$ python setup.py build

and it built fine.

Actually, it chocked when it couldn't find the wxPython libs, but I
disab'ed that, as I don't need it right now -- and then it built fine.

Thanks so much for your help!

-Chris

-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-09 Thread Chris Barker
darn, forgot to send to the list again -- I hate these defaults!



-- Forwarded message --
From: Chris Barker chris.bar...@noaa.gov
Date: Thu, Feb 9, 2012 at 9:58 AM
Subject: Re: [Pythonmac-SIG] distutils and stdarg.h
To: Ronald Oussoren ronaldousso...@mac.com


On Wed, Feb 8, 2012 at 11:33 PM, Ronald Oussoren ronaldousso...@mac.com wrote:
 against the python.org 32 bit Intel/PPC build of python 2.7

 I'm getting a bunch of errors like:

 /Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h:4:25: error:
 stdarg.h: No such file or directory

 That file does exist, but it uses:

 #include_next stdarg.h

 What compiler version do you use?

It's using g++ 4.2.1

 One thing you could try is to drop support for ppc, for example by adding 
 [-arch, i386] to extra_compiler_args in the definition of the Extension 
 in setup.py.

I'll give that try, but ...

  Recent Xcode releases do not include a compiler that supports the powerpc 
 architecture.

I've made a point of not upgrading XCode for that reason -- and I'm
not having trouble compiling PPC versions other extensions.

I'm pretty sure I've done both C and C++ ones, too.

I'm thinking that some of the standard stuff that distutils adds has
been overridden by this build -- it's a big, complicated setup, using
numpy, distutils, etc. I'm having trouble following it all (or
simplifying it -- I don't need the whole package anyway). Entought is
no longer testing on this distribution of Python, nor PPC at all, I
believe, so they could have inadvertently broken it easily enough.

thanks,
  -Chris



--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov


-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-09 Thread Russell E. Owen
In article 
calgmxe+esre4vbpqzxcapr_wigat8nt75_kghhxcoacy8rm...@mail.gmail.com,
 Chris Barker chris.bar...@noaa.gov wrote:

 darn, forgot to send to the list again -- I hate these defaults!
 
 
 
 -- Forwarded message --
 From: Chris Barker chris.bar...@noaa.gov
 Date: Thu, Feb 9, 2012 at 9:58 AM
 Subject: Re: [Pythonmac-SIG] distutils and stdarg.h
 To: Ronald Oussoren ronaldousso...@mac.com
 
 
 On Wed, Feb 8, 2012 at 11:33 PM, Ronald Oussoren ronaldousso...@mac.com 
 wrote:
  against the python.org 32 bit Intel/PPC build of python 2.7
 
  I'm getting a bunch of errors like:
 
  /Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h:4:25: error:
  stdarg.h: No such file or directory
 
  That file does exist, but it uses:
 
  #include_next stdarg.h
 
  What compiler version do you use?
 
 It's using g++ 4.2.1

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.

- 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.

- Use gcc 4.2.1 and ActiveState's 64-bit python 2.7. That supposedly 
gives you compatibility with MacOS X 10.5 and it surely works with 
ActiveState's Tcl/Tk. But you may need a license to distribute the 
results (likely free in your case). This is the way I'm leaning, and I 
even got a license, but I'm reluctant to give up on python.or python.

-- Russell

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-09 Thread Chris Barker
On Thu, Feb 9, 2012 at 11:37 AM, Russell E. Owen ro...@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.

Thanks -- Ill try that. but:

1) I thought distutils took care of calling the right compliler to
match what pyotn had been built with. I guess not.

2) how do I use 4.01. with distutils?

Thanks,
   -Chris

-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-09 Thread Ned Deily
In article rowen-acaa42.11370509022...@news.gmane.org,
 Russell E. Owen ro...@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/

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

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-09 Thread Ned Deily
In article 
CALGmxEJVLD6fvUTxzhm3DfNDCLGC8wH_-UY-hGOOPF=qy9c...@mail.gmail.com,
 Chris Barker chris.bar...@noaa.gov wrote:

 On Thu, Feb 9, 2012 at 11:37 AM, Russell E. Owen ro...@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.
 
 Thanks -- Ill try that. but:
 
 1) I thought distutils took care of calling the right compliler to
 match what pyotn had been built with. I guess not.

Distutils *does* try to call the right CC compiler (that is, the 
compiler the Python itself was built with), unless the 
module/package/distribution's setup.py overrides it.  If it is using C++ 
code, though, you may have to override that yourself since Python itself 
does not contain any C++ code and I don't think there is any special 
code in Distutils to override C++ stuff.
 
 2) how do I use 4.01. with distutils?

For the any C++ modules, you may need to override the C++ compiler 
choice by using a CXX environment variable.

What OS version are you trying this on, BTW?

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

___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG


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

2012-02-09 Thread Chris Barker
On Thu, Feb 9, 2012 at 12:55 PM, Ned Deily n...@acm.org wrote:
 1) I thought distutils took care of calling the right compliler to
 match what pyotn had been built with. I guess not.

 Distutils *does* try to call the right CC compiler (that is, the
 compiler the Python itself was built with), unless the
 module/package/distribution's setup.py overrides it.

it's possible that that's what's happening -- as I said, this is an
ugly complicated mess.

  If it is using C++
 code, though, you may have to override that yourself since Python itself
 does not contain any C++ code and I don't think there is any special
 code in Distutils to override C++ stuff.

That could be it, too.

 2) how do I use 4.01. with distutils?

 For the any C++ modules, you may need to override the C++ compiler
 choice by using a CXX environment variable.

OK -- I'll try that.

 What OS version are you trying this on, BTW?

10.6.8 Intel Corei7

I'll le tyou know how it works out when a get a chance.

Thanks for your ideas.

Any of you going to PyCon this year?

-Chris





-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
___
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG