swarm-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[swarm-hackers] Leopard runtime mismatch crash - the cause


From: Bill Northcott
Subject: [swarm-hackers] Leopard runtime mismatch crash - the cause
Date: Wed, 21 May 2008 11:12:00 +1000

On 21/05/2008, at 9:01 AM, Bill Northcott wrote:
On 27/04/2008, at 4:06 AM, Marcus G. Daniels wrote:
First, I was curious to see if the stock compiler would work. I noticed that there were some more OBJC segments creeping in (presumably new features with the compiler), and so made some tweaks so that all segment names for Objective C would be recoded as GNUOBJC to avoid the problems with the Apple Objective C runtime stepping on the GNU Objective C runtime. This did not work, however. I still get the runtime protocol mismatch problem. There may actually be a protocol change even for the GNU runtime.

Did you get anywhere to fixing this?? I did a build last night using Apple compilers and libffi, but it has the protocol mismatch issue.

Here is the reason for the runtime mismatch crash:

billn$ otool -L /Users/Shared/Public/Swarm/swarm-cvs/macosx/build/ src/.libs/libswarm.0.dylib /Users/Shared/Public/Swarm/swarm-cvs/macosx/build/src/.libs/libswarm. 0.dylib: /usr/local/swarm2.2/lib/libswarm.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libffi.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/local/blt2.4/lib/libBLT24.dylib (compatibility version 0.0.0, current version 0.0.0) /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk (compatibility version 8.4.0, current version 8.4.0) /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl (compatibility version 8.4.0, current version 8.4.0) /usr/X11/lib/libXpm.4.dylib (compatibility version 16.0.0, current version 16.0.0) /usr/local/hdf5_1.6.7/lib/libhdf5.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0) /usr/X11/lib/libXau.6.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/X11/lib/libXdmcp.6.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

and a part trace from dyld showing the load of a Swarm test program:
dyld: loaded: /Users/Shared/Public/Swarm/swarm-cvs/macosx/build/tests/ activity/.libs/ActionGroup dyld: loaded: /Users/Shared/Public/Swarm/swarm-cvs/macosx/build/ src/.libs/libswarm.0.dylib
dyld: loaded: /usr/lib/libffi.dylib
dyld: loaded: /usr/local/blt2.4/lib/libBLT24.dylib
dyld: loaded: /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk
dyld: loaded: /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl
dyld: loaded: /usr/X11/lib/libXpm.4.dylib
dyld: loaded: /usr/X11/lib/libpng12.0.dylib
dyld: loaded: /usr/local/hdf5_1.6.7/lib/libhdf5.0.dylib
dyld: loaded: /usr/lib/libSystem.B.dylib
dyld: loaded: /usr/lib/libz.1.dylib
dyld: loaded: /usr/X11/lib/libX11.6.dylib
dyld: loaded: /usr/X11/lib/libXau.6.dylib
dyld: loaded: /usr/X11/lib/libXdmcp.6.dylib
dyld: loaded: /usr/lib/libgcc_s.1.dylib
dyld: loaded: /usr/lib/system/libmathCommon.A.dylib
dyld: loaded: /usr/local/lib/libtk8.4.dylib
dyld: loaded: /usr/local/lib/libtcl8.4.dylib
dyld: loaded: /usr/local/lib/libgcc_s.1.dylib
dyld: loaded: /System/Library/Frameworks/Carbon.framework/Versions/A/ Carbon dyld: loaded: /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/ApplicationServices dyld: loaded: /System/Library/Frameworks/CoreServices.framework/ Versions/A/CoreServices dyld: loaded: /System/Library/Frameworks/CoreFoundation.framework/ Versions/A/CoreFoundation
dyld: loaded: /usr/lib/libicucore.A.dylib
dyld: loaded: /usr/lib/libobjc.A.dylib
dyld: loaded: /usr/lib/libauto.dylib
dyld: loaded: /usr/lib/libstdc++.6.dylib

So we linking the linking the system Tcl/Tk which in turn links Cocoa and hence the system libobjc.

I think this is because we have a '-L/usr/lib' in the link line and so pick up the the Tcl/Tk symlinks.

I have to do some thing else now, but I think I am close.

Bill






reply via email to

[Prev in Thread] Current Thread [Next in Thread]