mailRe: Temperature calibration & relax @ Mac OS X 10.7. 3 „Lion“


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on April 05, 2012 - 17:33:
Hi,

It's as I feared.  The wxPython which comes with Xcode 3.2.6 and
earlier is not suitable for usage in a Universal binary.  Bundled with
relax:

$ file relax.app/Contents/Resources/lib/python2.6/wx/_webkit.so
relax.app/Contents/Resources/lib/python2.6/wx/_webkit.so: Mach-O
universal binary with 2 architectures
relax.app/Contents/Resources/lib/python2.6/wx/_webkit.so (for
architecture ppc):      Mach-O bundle ppc
relax.app/Contents/Resources/lib/python2.6/wx/_webkit.so (for
architecture i386):     Mach-O bundle i386

and the original Xcode installed version:

$ file 
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_webkit.so
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_webkit.so:
Mach-O universal binary with 2 architectures
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_webkit.so
(for architecture i386):        Mach-O bundle i386
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_webkit.so
(for architecture ppc7400):     Mach-O bundle ppc

The x86_64 target is missing.  The files are not exactly the same though:

$ diff 
/Users/edward/relax/relax-1.3/dist/relax.app/Contents/Resources/lib/python2.6/wx/_webkit.so
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_webkit.so
Binary files 
/Users/edward/relax/relax-1.3/dist/relax.app/Contents/Resources/lib/python2.6/wx/_webkit.so
and 
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_webkit.so
differ

This would be because py2app uses the 'strip' program to shrink the
size of the binary files.  The Python binary from Xcode 3.2.6 is also
only i386 and ppc.  Now I have to work out how to turn off x86_64
permanently, and to hunt down all binary files in the relax.app
hierarchy which are not the i386/ppc architecture combination.

Regards,

Edward


On 5 April 2012 16:20, Ben Eisenbraun <bene@xxxxxxxxxxxxxxxxxxx> wrote:
Hi Edward,

A solution is posted at
http://stackoverflow.com/questions/3461983/evt-tickcount-not-found-with-python2-6-on-osx-10-6-3,

I saw that suggestion when I read the thread yesterday. If you're willing
to give up the 64-bit version, this thread might also be useful:

http://stackoverflow.com/questions/7472301/how-to-force-py2app-to-run-app-in-32-bit-mode

This fix doesn't solve the problem of the py2app created relax app not
using the bundled Python version and internal Python modules, so some
users will still be affected by that.

Yesterday when I was looking at this, I added a 'print sys.executable' to
__boot__.py and got:

4/4/12 12:40:10.353 PM [0x0-0x18ac8ab].com.nmr-relax.relax: 
/nfs/programs/i386-mac/relax/1.3.14/relax.app/Contents/MacOS/python

And it doesn't change regardless of what PythonExecutable or
PyRunTimeLocation is set to in the Info.plist. So it appears that it is
calling the correct binary, but the Contents/MacOS/python is just a binary
wrapper for some other python? I suppose I should read the py2app docs at
some point.

-ben

--
| Ben Eisenbraun
| SBGrid Consortium                          | http://sbgrid.org       |
| Harvard Medical School                     | http://hms.harvard.edu  |



Related Messages


Powered by MHonArc, Updated Thu Apr 05 18:00:07 2012