[Unison-hackers] Mac update
Marcus Crestani
crestani at informatik.uni-tuebingen.de
Thu Jul 17 11:51:25 EDT 2014
>>>>>"AS" == Alan Shutko <ats at acm.org> writes:
AS> Marcus, how is your build setup? Is it possible there is a difference
AS> between the way certain libraries were built? It seems like we might
AS> get a SIGILL as shown in your crash if we have some parts compiled for
AS> 32-bit and others for 64-bit (or other arch differences). In
AS> UISTYLE=text, all the build arguments are controlled by the
AS> makefile. In UISTYLE=uimac* the flags for compiling the objective C
AS> stuff is in the xcode project.
otool -L /Applications/Unison.app/Contents/MacOS/Unison shows that the
binary is only linked to Frameworks or dylibs that come with OS X, no
libraries that I have custom built:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 20.0.0)
/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 55471.14.0)
/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling (compatibility version 1.0.0, current version 10.0.0)
@executable_path/../Frameworks/Growl.framework/Versions/A/Growl (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.13.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1265.19.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.14.0)
These built-in libraries are all fat binaries:
# otool -L /Applications/Unison.app/Contents/MacOS/Unison | cut -d ' ' -f 1 | grep -v "^Unison" | xargs file
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: Mach-O universal binary with 2 architectures
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (for architecture i386): Mach-O dynamically linked shared library i386
/System/Library/Frameworks/Security.framework/Versions/A/Security: Mach-O universal binary with 2 architectures
/System/Library/Frameworks/Security.framework/Versions/A/Security (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/Security.framework/Versions/A/Security (for architecture i386): Mach-O dynamically linked shared library i386
/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling: Mach-O universal binary with 2 architectures
/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling (for architecture i386): Mach-O dynamically linked shared library i386
@executable_path/../Frameworks/Growl.framework/Versions/A/Growl: cannot open `@executable_path/../Frameworks/Growl.framework/Versions/A/Growl' (No such file or directory)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation: Mach-O universal binary with 2 architectures
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (for architecture i386): Mach-O dynamically linked shared library i386
/usr/lib/libobjc.A.dylib: Mach-O universal binary with 2 architectures
/usr/lib/libobjc.A.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/usr/lib/libobjc.A.dylib (for architecture i386): Mach-O dynamically linked shared library i386
/usr/lib/libSystem.B.dylib: Mach-O universal binary with 2 architectures
/usr/lib/libSystem.B.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/usr/lib/libSystem.B.dylib (for architecture i386): Mach-O dynamically linked shared library i386
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit: Mach-O universal binary with 2 architectures
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (for architecture i386): Mach-O dynamically linked shared library i386
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation: Mach-O universal binary with 2 architectures
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (for architecture i386): Mach-O dynamically linked shared library i386
The path to Growl in the above output is broken. But it is also a fat
binary:
# file /Applications/Unison.app/Contents/Frameworks/Growl.framework/Growl
/Applications/Unison.app/Contents/Frameworks/Growl.framework/Growl: Mach-O universal binary with 3 architectures
/Applications/Unison.app/Contents/Frameworks/Growl.framework/Growl (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/Applications/Unison.app/Contents/Frameworks/Growl.framework/Growl (for architecture i386): Mach-O dynamically linked shared library i386
/Applications/Unison.app/Contents/Frameworks/Growl.framework/Growl (for architecture ppc): Mach-O dynamically linked shared library ppc
AS> Three questions: could you send me a log of your compilation?
Sure, it is attached.
AS> Are you using the new version on both the local and remote system?
I always use the new version on both systems (otherwise, Unison would
fail with a version mismatch, I guess).
AS> If so, is it crashing on the local system, the remote, or both?
It crashes only on the local system.
Thanks for looking into it, hope this helps,
Marcus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 153030 bytes
Desc: not available
URL: <http://lists.seas.upenn.edu/pipermail/unison-hackers/attachments/20140717/eb190726/attachment-0001.obj>
More information about the Unison-hackers
mailing list