I'm assuming that your script/application runs fine when not packaged by PyInstaller?
Also, IMO, it's highly unlikely that there is a problem in the C standard libs. Much more likely is that pyocc is passing junk to the vfprintf function (for example, a NULL or uninitialized file pointer). To track this down, you really need to write as short of a script as possible that reproduces the problem; it looks like your app is reasonably complex, and it will be neigh on impossible to separate out that complexity. I know this is for wxPython, but the same concepts apply: http://wiki.wxpython.org/MakingSampleApps On Fri, Apr 26, 2013 at 10:08 AM, jelle feringa <[email protected]>wrote: > Hi, > > I'm getting an awkward error when trying to compile a mac application that > uses the PythonOCC CAD library. > However, it seems that the error seems unrelated to that lib: > > Thread 0 Crashed:: Dispatch queue: com.apple.main-thread > 0 libsystem_c.dylib 0x00007fff8f5086b0 strlen + 16 > 1 libsystem_c.dylib 0x00007fff8f58fa65 __vfprintf + 4704 > 2 libsystem_c.dylib 0x00007fff8f58e337 vfprintf_l + 727 > 3 pyocc 0x0000000109b4b9e2 0x109b36000 + 88546 > 4 pyocc 0x0000000109b38261 0x109b36000 + 8801 > 5 pyocc 0x0000000109b37b9e 0x109b36000 + 7070 > 6 pyocc 0x0000000109b4bb78 0x109b36000 + 88952 > 7 pyocc 0x0000000109b37454 0x109b36000 + 5204 > > but rather a stdio.h related issue. > I've tried both building with and without a console, that does not alter > the behaviour > > Any ideas how I could further track down this error? > Thanks, Pyinstaller seems an awesome tool, > > -jelle > > > *This is the .spec * > > # -*- mode: python -*- > > import sys > sys.path.insert(0, > "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages") > > _path = > "/Users/jelleferinga/Documents/workspace/PyRAPID/Code/PyRAPID/build/hooks_development/simple_pythonocc" > _opt_site_packages = > "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages" > _site_packages = "/Library/Python/2.6/site-packages" > > > a = Analysis(['simple_pyocc.py'], > pathex=[_path, _site_packages, _opt_site_packages, ], > hiddenimports=["OCC", "sip", "PyKDL", "traitsui"], > hookspath=[_path], > runtime_hooks=None, > excludes=["matplotlib", "PySide", "FixTk"] > ) > pyz = PYZ(a.pure) > exe = EXE(pyz, > a.scripts, > exclude_binaries=False, > name='pyocc', > debug=False, > strip=None, > upx=True, > console=False ) > coll = COLLECT(exe, > a.binaries, > a.zipfiles, > a.datas, > strip=None, > upx=True, > name='pyocc_') > app = BUNDLE(coll, > name='pyocc.app') > > > *which is called by* > > python /Users/jelleferinga/GIT/pyinstaller/pyinstaller.py --onedir > --noconfirm pyocc.spec > > *hook-OCC.py:* > > import os, glob > _pth = "/Library/Python/2.6/site-packages/OCC" > sos = glob.glob(os.path.join(_pth, "*.so")) > pys = glob.glob(os.path.join(_pth, "*.py")) > > > def fname_no_extension(file_path): > module_name = os.path.splitext( os.path.split(file_path)[1] )[0] > module = "OCC" > return "{module}.{module_name}".format(**vars()) > > hiddenimports = [ fname_no_extension(i) for i in sos ] > hiddenimports += [ fname_no_extension(i) for i in pys ] > > *finally, Pyinstaller doesnt really put out any warnings:* > * > * > jf:simple_pythonocc jelleferinga$ ./compile_simple_pyocc.sh > 23 WARNING: You are running 64-bit Python: created binaries will only work > on Mac OS X 10.6+. > If you need 10.4-10.5 compatibility, run Python as a 32-bit binary with > this command: > > VERSIONER_PYTHON_PREFER_32_BIT=yes arch -i386 /usr/bin/python > > 4029 INFO: UPX is not available. > 4052 INFO: Processing hook hook-os > 4150 INFO: Processing hook hook-time > 4165 INFO: Processing hook hook-cPickle > 4222 INFO: Processing hook hook-_sre > 4338 INFO: Processing hook hook-cStringIO > 4436 INFO: Processing hook hook-encodings > 4450 INFO: Processing hook hook-codecs > 4719 INFO: Extending PYTHONPATH with > /Users/jelleferinga/Documents/workspace/PyRAPID/Code/PyRAPID/build/hooks_development/simple_pythonocc > 4719 INFO: checking Analysis > 4719 INFO: building Analysis because out00-Analysis.toc non existent > 4719 INFO: running Analysis out00-Analysis.toc > 4728 INFO: Analyzing > /Users/jelleferinga/GIT/pyinstaller/PyInstaller/loader/_pyi_bootstrap.py > 4742 INFO: Processing hook hook-os > 4749 INFO: Processing hook hook-site > 4856 INFO: Processing hook hook-time > 4871 INFO: Processing hook hook-cPickle > 4930 INFO: Processing hook hook-_sre > 5051 INFO: Processing hook hook-cStringIO > 5147 INFO: Processing hook hook-encodings > 5162 INFO: Processing hook hook-codecs > 5482 INFO: Processing hook hook-pydoc > 5782 INFO: Processing hook hook-email > 5839 INFO: Processing hook hook-httplib > 5871 INFO: Processing hook hook-email.message > 5988 INFO: Analyzing > /Users/jelleferinga/GIT/pyinstaller/PyInstaller/loader/pyi_importers.py > 6026 INFO: Analyzing > /Users/jelleferinga/GIT/pyinstaller/PyInstaller/loader/pyi_archive.py > 6059 INFO: Analyzing > /Users/jelleferinga/GIT/pyinstaller/PyInstaller/loader/pyi_carchive.py > 6093 INFO: Analyzing > /Users/jelleferinga/GIT/pyinstaller/PyInstaller/loader/pyi_os_path.py > 6099 INFO: Analyzing simple_pyocc.py > 6107 INFO: Processing hook hook-OCC > 21826 INFO: Hidden import 'OCC' has been found otherwise > 21826 INFO: Hidden import 'encodings' has been found otherwise > 21826 INFO: Looking for run-time hooks > 21827 INFO: Analyzing rthook > /Users/jelleferinga/GIT/pyinstaller/PyInstaller/loader/rthooks/pyi_rth_encodings.py > 26849 INFO: Using Python library > /System/Library/Frameworks/Python.framework/Versions/2.6/Python > 38694 INFO: Warnings written to > /Users/jelleferinga/Documents/workspace/PyRAPID/Code/PyRAPID/build/hooks_development/simple_pythonocc/build/pyocc/warnpyocc.txt > 38779 INFO: checking PYZ > 38780 INFO: rebuilding out00-PYZ.toc because out00-PYZ.pyz is missing > 38780 INFO: building PYZ (ZlibArchive) out00-PYZ.toc > 44046 INFO: checking PKG > 44046 INFO: rebuilding out00-PKG.toc because out00-PKG.pkg is missing > 44046 INFO: building PKG (CArchive) out00-PKG.pkg > 44091 INFO: checking EXE > 44092 INFO: rebuilding out00-EXE.toc because pyocc missing > 44092 INFO: building EXE from out00-EXE.toc > 44097 INFO: Appending archive to EXE > /Users/jelleferinga/Documents/workspace/PyRAPID/Code/PyRAPID/build/hooks_development/simple_pythonocc/dist/pyocc > 44110 INFO: checking COLLECT > 44110 INFO: building COLLECT out00-COLLECT.toc > 53007 INFO: checking BUNDLE > 53007 INFO: building BUNDLE out00-BUNDLE.toc > > > > > > > > > -- > You received this message because you are subscribed to the Google Groups > "PyInstaller" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/pyinstaller?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Daniel Hyams [email protected] -- You received this message because you are subscribed to the Google Groups "PyInstaller" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/pyinstaller?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
