Xcode 4.4 clang error: linker failure

After upgrading to Mountain Lion and Xcode 4.4 today, one of my projects no longer compiles. I checked that it still compiles in Xcode 4.3. This is the result I get - any ideas?

Ld "/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator/Home Loan Finder.app/Home Loan Finder" normal i386 cd "/Users/Adam/Aspyre/Code/Projects/Binary/Home Loan Finder" setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator -F/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator "-F/Users/Adam/Aspyre/Code/Projects/Binary/Home Loan Finder/../../../SDKs" -filelist "/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Intermediates/Home Loan Finder.build/Debug-iphonesimulator/Home Loan Finder.build/Objects-normal/i386/Home Loan Finder.LinkFileList" -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -framework CoreGraphics -framework Foundation -framework UIKit -framework MessageUI -framework CoreData -framework ShinobiCharts -framework OpenGLES -framework QuartzCore -framework Security -o "/Users/Adam/Library/Developer/Xcode/DerivedData/Home_Loan_Finder-ciynsbeemzwbzhenhqlhhzbsgebo/Build/Products/Debug-iphonesimulator/Home Loan Finder.app/Home Loan Finder" 0 0x103ced280 __assert_rtn + 144 1 0x103d43877 ld::tool::OutputFile::addressOf(ld::Internal const&, ld::Fixup const*, ld::Atom const**) + 215 2 0x103d4512c ld::tool::OutputFile::applyFixUps(ld::Internal&, unsigned long long, ld::Atom const*, unsigned char*) + 300 3 0x103d46a6d ld::tool::OutputFile::writeAtoms(ld::Internal&, unsigned char*) + 621 4 0x103d42c14 ld::tool::OutputFile::writeOutputFile(ld::Internal&) + 564 5 0x103d3d963 ld::tool::OutputFile::write(ld::Internal&) + 147 6 0x103ced8ef main + 1263 7 0x103cdc234 start + 52 A linker snapshot was created at: /tmp/Home Loan Finder-2012-06-27-140754.ld-snapshot ld: Assertion failed: (_mode == modeFinalAddress), function finalAddress, file /SourceCache/ld64/ld64-133.3/src/ld/ld.hpp, line 657. clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+4
linker xcode
source share
3 answers

For those using ShinobiCharts.framework: creating a category on Shinobi classes causes this error. As a workaround, you can replace categories with inheritance (this can be very painful).

+1
source share

I am studying this now.

We are pretty sure, because existing frameworks are built using Xcode 4.3, and the 4.4 compiler does not bind everything together correctly.

The solution is similar to simply creating frameworks in Xcode 4.4 - we are considering this now and should update the frameworks soon!

FULL DISCLOSURE: I work at ShinobiControls on ShinobiCharts.

Edit: A new version of ShinobiCharts is now available with fixed issues.

+2
source share

To shed light on this, the fix was to change the Strip Style from All Symbols to Non-Global Symbols, allowing the use of global symbols in categories.

Full disclosure: I also work for ShinobiControls!

0
source share

All Articles