Hi Edward. For convenience, I'll answer below.
On 04.04.2012, at 13:26, Edward d'Auvergne wrote: >> did you test it on a „vanilla“ machine without wx installed? [...] > This is my development machine which has 5 copies of wx installed > (fink, Xcode, and 3 custom Mac frameworks). [...] I'm asking because maybe (!) there is something wrong with the py2app bundle and one of your system installations kicks in. >> relax Error >> An unexpected error has occurred during execution of the main script >> AttributeError: 'module' object has no attribute 'TickCount' > > This is quite peculiar as the Python version in the DMG file has this > Carbon.Evt.TickCount object (or at least it should). Could you find > the 'Python' executable file in the relax.app/ file structure, run it > from the terminal, and then type: > >>>> 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 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 >> If I start the custom relax binary inside Contents/MacOS/ I get >> >> $ ./relax >> Please install the wx Python module to access the relax GUI. >> >> So to me it seems that wxPython is not included in your bundle. > > Launching in this way will be then using a different Python > interpreter. No, that's only the case if I run it from the Resources directory. Command-line relax will run fine with my local python 2.7.2 (MacPorts). relax -g however fails, probably because my wxPython is broken. See also the points 3.) and 5.) in the table at the end of the mail. > If you run './relax -i', [...] This > different version of Python, the standard on your system, is missing > the wxPython module. See the output in point 4.) below. wx is installed is installed loacally, but most probably broken. > #! /usr/bin/env python > > # Import the relax module. > import relax > > # Start relax. > relax.start() I can confirm that. > It's a possibility, but the load for creating the DMG file, and the > extensive testing of the DMG file, fink version provided by Jack > Howarth, and running from the sources is already quite high :S I'm > also not a Mac user, so I don't know much about the fink vs. MacPorts > vs. Homebrew game. I remember Homebrew maintainers discussing wxPython issues and incompatibilities, but don't quote me on that. >>> I think it's safe to assume that the Lion is half baked and >>> not compatible with Xcode+Python+Mac OS X 10.6.8 yet, >> >> Not so fast: As I mentioned earlier it runs perfectly if I launch the py2app >> relax 3.13 binary via the command line. Just launching it via clicking the >> symbol fails. > > For the first, I thought that you received the TickCount error > attached to the bug report https://gna.org/bugs/?19606 as the log file > 'relax-launcher-console.log'? T I get this error when double clicking the bundle icon, NOT when launching the custom-built py2app launcher binary wich sits inside Contents/MacOS together with your custom python version. >> 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 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) #### # 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) #### # 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> #### # 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 #### # 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 #################################################### # 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 # which python is installed on my system $ which python /opt/local/bin/python $ 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 _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-users mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-users

