On 21 May, 2013, at 16:04, fste...@mindspring.com wrote:

> I've built an app with Py2app. It runs as expected on my development machine, 
> but on machines (10.7.5 and 10.8.2, at least) without a development 
> environment, I get:
> 
> testmini1:~ administrator$ 
> /Users/administrator/Desktop/EasySetup.app/Contents/MacOS/EasySetup ; exit;
> Traceback (most recent call last):
>  File 
> "/Users/administrator/Desktop/EasySetup.app/Contents/Resources/__boot__.py", 
> line 43, in <module>
>    _run()
>  File 
> "/Users/administrator/Desktop/EasySetup.app/Contents/Resources/__boot__.py", 
> line 38, in _run
>    exec(compile(source, path, 'exec'), globals(), globals())
>  File 
> "/Users/administrator/Desktop/EasySetup.app/Contents/Resources/EasySetup.py", 
> line 13, in <module>
>    import AppKit
>  File "AppKit/__init__.pyc", line 43, in <module>
>  File "AppKit/_AppKit.pyc", line 14, in <module>
>  File "AppKit/_AppKit.pyc", line 10, in __load
> ImportError: 
> dlopen(/Users/administrator/Desktop/EasySetup.app/Contents/Resources/lib/python2.7/lib-dynload/AppKit/_AppKit.so,
>  2): Symbol not found: _OBJC_CLASS_$_NSObject
>  Referenced from: 
> /Users/administrator/Desktop/EasySetup.app/Contents/Resources/lib/python2.7/lib-dynload/AppKit/_AppKit.so
>  Expected in: /usr/lib/libobjc.A.dylib
> in 
> /Users/administrator/Desktop/EasySetup.app/Contents/Resources/lib/python2.7/lib-dynload/AppKit/_AppKit.so
> 2013-05-21 09:19:44.502 EasySetup[393:707] EasySetup Error
> 
> The _AppKit.so file referenced is in the location referenced. I've deleted 
> /build and /dist and rebuilt the app.

It is odd that the problem occurs on all machines without development tools. 
What's the deployment target of the application? You can check the actual 
deployment target in binaries (such as _AppKit.so) using "otool -vl FILENAME", 
look for 'LC_VERSION_MIN_MACOSX'. Having a too high deployment target could 
explain why the app doesn't work on 10.7, but not why it doesn't work on 10.8 
machines without devtools.

Ronald

> 
> My setup.py:
> 
> from setuptools import setup
> 
> APP = ['EasySetup.py']
> DATA_FILES = ['EasySetup/MainMenu.xib', 'loggers.py', 'MacTools.py', 
> 'create_corplocaladministrator-1.0.pkg', 'macepoprodagentinstall.sh', 
> 'corp-logo.png']
> OPTIONS = {'argv_emulation': False, 'iconfile':'EasySetup.icns'}
> 
> setup(
>        app=APP,
>        data_files=DATA_FILES,
>        install_requires=["pyobjc"],
>        options={'py2app': OPTIONS},
>        setup_requires=['py2app'],
> )
> 
> 
> I'm using virtualenv, where "yolk -list" gives:
> 
> python          - 2.7.3        - active development 
> (/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload)
> altgraph        - 0.10.2       - active 
> beautifulsoup4  - 4.1.3        - active 
> macholib        - 1.5.1        - active 
> modulegraph     - 0.10.4       - active 
> pexpect         - 2.4          - active 
> pip             - 1.3.1        - active 
> py2app          - 0.7.3        - non-active 
> pyobjc-core     - 2.5.1        - active 
> pyobjc-framework-Accounts - 2.5.1        - active 
> pyobjc-framework-AddressBook - 2.5.1        - active 
> pyobjc-framework-AppleScriptKit - 2.5.1        - active 
> pyobjc-framework-AppleScriptObjC - 2.5.1        - active 
> pyobjc-framework-Automator - 2.5.1        - active 
> pyobjc-framework-CFNetwork - 2.5.1        - active 
> pyobjc-framework-CalendarStore - 2.5.1        - active 
> pyobjc-framework-Cocoa - 2.5.1        - active 
> pyobjc-framework-Collaboration - 2.5.1        - active 
> pyobjc-framework-CoreData - 2.5.1        - active 
> pyobjc-framework-CoreLocation - 2.5.1        - active 
> pyobjc-framework-CoreText - 2.5.1        - active 
> pyobjc-framework-DictionaryServices - 2.5.1        - active 
> pyobjc-framework-EventKit - 2.5.1        - active 
> pyobjc-framework-ExceptionHandling - 2.5.1        - active 
> pyobjc-framework-FSEvents - 2.5.1        - active 
> pyobjc-framework-InputMethodKit - 2.5.1        - active 
> pyobjc-framework-InstallerPlugins - 2.5.1        - active 
> pyobjc-framework-InstantMessage - 2.5.1        - active 
> pyobjc-framework-LatentSemanticMapping - 2.5.1        - active 
> pyobjc-framework-LaunchServices - 2.5.1        - active 
> pyobjc-framework-Message - 2.5.1        - active 
> pyobjc-framework-PreferencePanes - 2.5.1        - active 
> pyobjc-framework-PubSub - 2.5.1        - active 
> pyobjc-framework-QTKit - 2.5.1        - active 
> pyobjc-framework-Quartz - 2.5.1        - active 
> pyobjc-framework-ScreenSaver - 2.5.1        - active 
> pyobjc-framework-ScriptingBridge - 2.5.1        - active 
> pyobjc-framework-SearchKit - 2.5.1        - active 
> pyobjc-framework-ServerNotification - 2.5.1        - active 
> pyobjc-framework-ServiceManagement - 2.5.1        - active 
> pyobjc-framework-Social - 2.5.1        - active 
> pyobjc-framework-SyncServices - 2.5.1        - active 
> pyobjc-framework-SystemConfiguration - 2.5.1        - active 
> pyobjc-framework-WebKit - 2.5.1        - active 
> pyobjc          - 2.5.1        - active 
> requests        - 1.2.0        - active 
> setuptools      - 0.6c11       - active 
> wsgiref         - 0.1.2        - active development 
> (/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7)
> yolk            - 0.4.3        - active 
> 
> There are so many threads in play, I'm not sure which to yank on first. Does 
> anybody see anything that rings any alarm bells? Any suggestions on further 
> investigation?
> 
> Thanks!
> Frank
> _______________________________________________
> 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 maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG

Reply via email to