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 04, 2012 - 16:16:
Hi,

Thanks for all that info!  I think I might now have a few ideas as to
the problems and what is happening.  I think the problem is in the
Info.plist file that py2app creates for the Mac application.  I'll
answer more below:


from Carbon.Evt import TickCount

The custom python interpreter in the 1.3.14 bundle will not run:

$ cd /Applications/relax.app/Contents/MacOS
$ ls
python  relax
$ ./python
python: posix_spawn: /Applications/relax.app/Contents/MacOS/python2.6: No 
such file or directory

This is fascinating, why is it looking for that?  I have recursively
grepped the DMG file contents to find a reference to python2.6, and
only the ./Frameworks/Python.framework/Versions/2.6/Python binary file
has that, but only for lib/python2.6!  Bizarre!


There is something missing, or some paths get mixed up. However, this gives 
different errors with the 1.3.13 version (my .app is renamed):
$ cd "/Applications/relax 3.13.app/Contents/MacOS"
$ ls
python  relax
$ ./python
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site

Again, very strange!


3.14 fails in both ways, though.

This is strange as the wx code in relax is identical in 1.3.13 vs.
1.3.14.  The Xcode versions are different though, thanks to the Mac
update.  This again indicates that we need some type of workaround for
problems in the Mac Frameworks.

Is it possible that PATHs got mangled with the newer versions? The custom 
python version inside the bundle will not start, because it looks for data 
where nothing is:

$ ./python
python: posix_spawn: /Applications/relax.app/Contents/MacOS/python2.6: No 
such file or directory

I think the problem here might be the Info.plist file!


See below for an extensive list of what I tried and what the corresponding 
output was. Let me know if I can do anything else for you.

Cheers
Martin

####
# 1.) Running the relax py2app bundle, equivalent double-clicking the bundle

$ cd /Applications/
$ open relax.app
$ # (a window opens with the said the "TickCount" error message)

This indicates that somehow the wrong Python site packages are being called 
up!


####
# 2.) Running the relax py2app custom binary

$ cd /Applications/relax.app/Contents/MacOS
$ ls
python  relax
$ ./relax
Please install the wx Python module to access the relax GUI.
# (this worked with the 1.3.13 version of relax)

This is clearly not finding the wxPython site-package and libraries located 
at:

./Contents/Frameworks/libwx
./Contents/Resources/lib/python2.6/wx


####
# 3.) Running relax with the system-installed python (MacPorts, 2.7.2)

$ cd /Applications/relax.app/Contents/Resources
$ ./relax



                                         relax 1.3.14

                           Molecular dynamics by NMR data analysis

                          Copyright (C) 2001-2006 Edward d'Auvergne
                      Copyright (C) 2006-2012 the relax development team

This is free software which you are welcome to modify and redistribute 
under the conditions of the
GNU General Public License (GPL).  This program, including all modules, is 
licensed under the GPL
and comes with absolutely no warranty.  For details type 'GPL' within the 
relax prompt.

Assistance in using the relax prompt and scripting interface can be 
accessed by typing 'help' within
the prompt.

ImportError: 
dlopen(/Applications/relax.app/Contents/Resources/maths_fns/relax_fit.so, 
2): no suitable image found.  Did find:
       /Applications/relax.app/Contents/Resources/maths_fns/relax_fit.so: 
mach-o, but wrong architecture
Relaxation curve fitting is unavailable, try compiling the C modules.

Processor fabric:  Uni-processor.

relax>

Interesting that that import error occurs.  I might have to look at
that later once all these issues are sorted out.


####
# 5.) relax information (relax -i)
$ pwd
/Applications/relax.app/Contents/Resources
alu:Resources martin$ ./relax -i



                                         relax 1.3.14

                           Molecular dynamics by NMR data analysis

                          Copyright (C) 2001-2006 Edward d'Auvergne
                      Copyright (C) 2006-2012 the relax development team

This is free software which you are welcome to modify and redistribute 
under the conditions of the
GNU General Public License (GPL).  This program, including all modules, is 
licensed under the GPL
and comes with absolutely no warranty.  For details type 'GPL' within the 
relax prompt.

Assistance in using the relax prompt and scripting interface can be 
accessed by typing 'help' within
the prompt.

ImportError: 
dlopen(/Applications/relax.app/Contents/Resources/maths_fns/relax_fit.so, 
2): no suitable image found.  Did find:
       /Applications/relax.app/Contents/Resources/maths_fns/relax_fit.so: 
mach-o, but wrong architecture
Relaxation curve fitting is unavailable, try compiling the C modules.

Processor fabric:  Uni-processor.

Hardware information:
 Machine:                 x86_64
 Processor:               i386
 Endianness:              little
 Total RAM size:          ? Mb
 Total swap size:         ? Mb

Operating system information:
 System:                  Darwin
 Release:                 11.3.0
 Version:                 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 
PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64
 Mac version:             10.7.3 (, , ) x86_64
 Distribution:
 Full platform string:    Darwin-11.3.0-x86_64-i386-64bit

Python information:
 Architecture:            64bit
 Python version:          2.7.2
 Python branch:
 Python build:            default, Mar 15 2012 17:00:43
 Python compiler:         GCC 4.2.1 Compatible Apple Clang 3.0 
(tags/Apple/clang-211.12)
 Libc version:
 Python implementation:   CPython
 Python revision:
 Python executable:       
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
 Python flags:            sys.flags(debug=0, py3k_warning=0, 
division_warning=0, division_new=0, inspect=0, interactive=0, optimize=0, 
dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, 
tabcheck=0, verbose=0, unicode=0, bytes_warning=0)
 Python float info:       sys.float_info(max=1.7976931348623157e+308, 
max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, 
min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, 
radix=2, rounds=1)
 Python module path:      ['/Applications/relax.app/Contents/Resources', 
'/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg', 
'/usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages', 
'/usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages/wx-2.9.1-osx_cocoa',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
 
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info',
 '/Library/Python/2.7/site-packages', 
'/usr/local/lib/wxPython-2.9.1.1/lib/python2.7', 
'/Applications/relax.app/Contents/Resources/extern/scientific_python/darwin']

Python packages (most are optional):

Package              Installed       Version         Path
minfx                True            Unknown         
/Applications/relax.app/Contents/Resources/minfx
bmrblib              True            Unknown         
/Applications/relax.app/Contents/Resources/bmrblib
numpy                True            1.6.1           
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy
scipy                False
wxPython             True            2.9.1.1         
/usr/local/lib/wxPython-2.9.1.1/lib/python2.7/site-packages/wx-2.9.1-osx_cocoa/wx
mpi4py               False
epydoc               False
optparse             True            1.5.3           
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/optparse.pyc
readline             True                            
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so
profile              True                            
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/profile.pyc
bz2                  True                            
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/bz2.so
gzip                 True                            
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/gzip.pyc
os.devnull           True                            
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc

Compiled relax C modules:
 Relaxation curve fitting: False


Ok, this clearly shows that everything is mixed up!  All the paths are
completely incorrect!  The python executable is located in /opt/local,
when it must be within /Applications/relax.app/.  Without question,
everything should be within /Applications/relax.app!  The relax Mac
Application is clearly broken.


####
# 6.) Running relax -g with the system-installed python (MacPorts, 2.7.2)
# wxPython 2.9.1.1 (official installer) is installed and can be imported!
# this points to a broken installation on my side

./relax -g
2012-04-04 14:32:26.347 Python[80598:f0b] *** Assertion failure in 
-[NSToolbar _forceInsertItem:atIndex:], 
/SourceCache/AppKit/AppKit-1138.32/Toolbar.subproj/NSToolbar.m:1309
2012-04-04 14:32:26.349 Python[80598:f0b] An uncaught exception was raised
2012-04-04 14:32:26.350 Python[80598:f0b] Invalid parameter not satisfying: 
index>=0 && index<=[self _numberOfItems]
2012-04-04 14:32:26.356 Python[80598:f0b] (
       0   CoreFoundation                      0x00007fff902effc6 
__exceptionPreprocess + 198
       1   libobjc.A.dylib                     0x00007fff8634dd5e 
objc_exception_throw + 43
       2   CoreFoundation                      0x00007fff902efdfa 
+[NSException raise:format:arguments:] + 106
       3   Foundation                          0x00007fff87696743 
-[NSAssertionHandler 
handleFailureInMethod:object:file:lineNumber:description:] + 169
       4   AppKit                              0x00007fff8aa24f5e 
-[NSToolbar _forceInsertItem:atIndex:] + 163
       5   AppKit                              0x00007fff8aa24d35 
-[NSToolbar 
_insertItem:atIndex:notifyDelegate:notifyView:notifyFamilyAndUpdateDefaults:]
 + 121
       6   AppKit                              0x00007fff8aa24a70 
-[NSToolbar 
_insertNewItemWithItemIdentifier:atIndex:propertyListRepresentation:notifyFlags:]
 + 118
       7   libwx_osx_cocoau-2.9.1.0.0.dylib    0x0000000109a3330b 
_ZN9wxToolBar7RealizeEv + 1531
       8   _controls_.so                       0x000000010b13ab76 
_wrap_ToolBarBase_Realize + 102
       9   Python                              0x0000000108722bfa 
PyEval_EvalFrameEx + 9706
       10  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       11  Python                              0x00000001087283b9 
fast_function + 313
       12  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       13  Python                              0x0000000108728343 
fast_function + 195
       14  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       15  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       16  Python                              0x00000001086b388e 
function_call + 350
       17  Python                              0x000000010868efd1 
PyObject_Call + 97
       18  Python                              0x000000010869aff6 
instancemethod_call + 470
       19  Python                              0x000000010868efd1 
PyObject_Call + 97
       20  Python                              0x00000001086e920b 
slot_tp_init + 187
       21  Python                              0x00000001086e0b9a type_call 
+ 362
       22  Python                              0x000000010868efd1 
PyObject_Call + 97
       23  Python                              0x00000001087224cf 
PyEval_EvalFrameEx + 7871
       24  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       25  Python                              0x00000001086b388e 
function_call + 350
       26  Python                              0x000000010868efd1 
PyObject_Call + 97
       27  Python                              0x000000010869aff6 
instancemethod_call + 470
       28  Python                              0x000000010868efd1 
PyObject_Call + 97
       29  Python                              0x0000000108727b01 
PyEval_CallObjectWithKeywords + 177
       30  _core_.so                           0x00000001094d5c5e 
_ZN7wxPyApp13_BootstrapAppEv + 766
       31  _core_.so                           0x0000000109514cfb 
_wrap_PyApp__BootstrapApp + 75
       32  Python                              0x0000000108722bfa 
PyEval_EvalFrameEx + 9706
       33  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       34  Python                              0x00000001087283b9 
fast_function + 313
       35  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       36  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       37  Python                              0x00000001087283b9 
fast_function + 313
       38  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       39  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       40  Python                              0x00000001086b388e 
function_call + 350
       41  Python                              0x000000010868efd1 
PyObject_Call + 97
       42  Python                              0x000000010869aff6 
instancemethod_call + 470
       43  Python                              0x000000010868efd1 
PyObject_Call + 97
       44  Python                              0x00000001086e920b 
slot_tp_init + 187
       45  Python                              0x00000001086e0b9a type_call 
+ 362
       46  Python                              0x000000010868efd1 
PyObject_Call + 97
       47  Python                              0x00000001087224cf 
PyEval_EvalFrameEx + 7871
       48  Python                              0x0000000108728343 
fast_function + 195
       49  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       50  Python                              0x0000000108728343 
fast_function + 195
       51  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       52  Python                              0x0000000108728343 
fast_function + 195
       53  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       54  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       55  Python                              0x00000001087283b9 
fast_function + 313
       56  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       57  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       58  Python                              0x000000010871fd16 
PyEval_EvalCode + 54
       59  Python                              0x0000000108747b4e 
PyRun_FileExFlags + 174
       60  Python                              0x0000000108747528 
PyRun_SimpleFileExFlags + 424
       61  Python                              0x000000010875b63e Py_Main + 
2990
       62  Python                              0x000000010867bf24 Python + 
3876
       63  ???                                 0x0000000000000003 0x0 + 3
)
2012-04-04 14:32:26.358 Python[80598:f0b] *** Terminating app due to 
uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid 
parameter not satisfying: index>=0 && index<=[self _numberOfItems]'
*** First throw call stack:
(
       0   CoreFoundation                      0x00007fff902effc6 
__exceptionPreprocess + 198
       1   libobjc.A.dylib                     0x00007fff8634dd5e 
objc_exception_throw + 43
       2   CoreFoundation                      0x00007fff902efdfa 
+[NSException raise:format:arguments:] + 106
       3   Foundation                          0x00007fff87696743 
-[NSAssertionHandler 
handleFailureInMethod:object:file:lineNumber:description:] + 169
       4   AppKit                              0x00007fff8aa24f5e 
-[NSToolbar _forceInsertItem:atIndex:] + 163
       5   AppKit                              0x00007fff8aa24d35 
-[NSToolbar 
_insertItem:atIndex:notifyDelegate:notifyView:notifyFamilyAndUpdateDefaults:]
 + 121
       6   AppKit                              0x00007fff8aa24a70 
-[NSToolbar 
_insertNewItemWithItemIdentifier:atIndex:propertyListRepresentation:notifyFlags:]
 + 118
       7   libwx_osx_cocoau-2.9.1.0.0.dylib    0x0000000109a3330b 
_ZN9wxToolBar7RealizeEv + 1531
       8   _controls_.so                       0x000000010b13ab76 
_wrap_ToolBarBase_Realize + 102
       9   Python                              0x0000000108722bfa 
PyEval_EvalFrameEx + 9706
       10  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       11  Python                              0x00000001087283b9 
fast_function + 313
       12  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       13  Python                              0x0000000108728343 
fast_function + 195
       14  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       15  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       16  Python                              0x00000001086b388e 
function_call + 350
       17  Python                              0x000000010868efd1 
PyObject_Call + 97
       18  Python                              0x000000010869aff6 
instancemethod_call + 470
       19  Python                              0x000000010868efd1 
PyObject_Call + 97
       20  Python                              0x00000001086e920b 
slot_tp_init + 187
       21  Python                              0x00000001086e0b9a type_call 
+ 362
       22  Python                              0x000000010868efd1 
PyObject_Call + 97
       23  Python                              0x00000001087224cf 
PyEval_EvalFrameEx + 7871
       24  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       25  Python                              0x00000001086b388e 
function_call + 350
       26  Python                              0x000000010868efd1 
PyObject_Call + 97
       27  Python                              0x000000010869aff6 
instancemethod_call + 470
       28  Python                              0x000000010868efd1 
PyObject_Call + 97
       29  Python                              0x0000000108727b01 
PyEval_CallObjectWithKeywords + 177
       30  _core_.so                           0x00000001094d5c5e 
_ZN7wxPyApp13_BootstrapAppEv + 766
       31  _core_.so                           0x0000000109514cfb 
_wrap_PyApp__BootstrapApp + 75
       32  Python                              0x0000000108722bfa 
PyEval_EvalFrameEx + 9706
       33  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       34  Python                              0x00000001087283b9 
fast_function + 313
       35  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       36  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       37  Python                              0x00000001087283b9 
fast_function + 313
       38  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       39  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       40  Python                              0x00000001086b388e 
function_call + 350
       41  Python                              0x000000010868efd1 
PyObject_Call + 97
       42  Python                              0x000000010869aff6 
instancemethod_call + 470
       43  Python                              0x000000010868efd1 
PyObject_Call + 97
       44  Python                              0x00000001086e920b 
slot_tp_init + 187
       45  Python                              0x00000001086e0b9a type_call 
+ 362
       46  Python                              0x000000010868efd1 
PyObject_Call + 97
       47  Python                              0x00000001087224cf 
PyEval_EvalFrameEx + 7871
       48  Python                              0x0000000108728343 
fast_function + 195
       49  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       50  Python                              0x0000000108728343 
fast_function + 195
       51  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       52  Python                              0x0000000108728343 
fast_function + 195
       53  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       54  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       55  Python                              0x00000001087283b9 
fast_function + 313
       56  Python                              0x00000001087222be 
PyEval_EvalFrameEx + 7342
       57  Python                              0x00000001087205b9 
PyEval_EvalCodeEx + 2201
       58  Python                              0x000000010871fd16 
PyEval_EvalCode + 54
       59  Python                              0x0000000108747b4e 
PyRun_FileExFlags + 174
       60  Python                              0x0000000108747528 
PyRun_SimpleFileExFlags + 424
       61  Python                              0x000000010875b63e Py_Main + 
2990
       62  Python                              0x000000010867bf24 Python + 
3876
       63  ???                                 0x0000000000000003 0x0 + 3
)
terminate called throwing an exceptionAbort trap: 6

wxPython 2.9 is probably to blame here.  I don't know if it is
production ready yet.


####################################################

# some information about the custom python interpreter inside the .app 
bundle

$ ./python
python: posix_spawn: /Applications/relax.app/Contents/MacOS/python2.6: No 
such file or directory

Again, really weird!


# which python is installed on my system

$ which python
/opt/local/bin/python

This is being picked up by the Application and used for the executable
(well the framework version of the executable, I'm guessing this is a
symlink to it) and for most Python site-packages.


$ python --version
Python 2.7.2

# This is MacPorts, as you can see. wxPython 2.9.1.1 for python 2.7 (from 
the official installer) can be imported.

$ python
Python 2.7.2 (default, Mar 15 2012, 17:00:43)
[GCC 4.2.1 Compatible Apple Clang 3.0 (tags/Apple/clang-211.12)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
import wx


Ok, I might send a second message with more info.  This is getting too long.

Cheers,

Edward



Related Messages


Powered by MHonArc, Updated Wed Apr 04 16:40:07 2012