Xcode 10b5 – duplicate symbol linker error, can't compile with Crashlytics

  • A+
Category:Languages

I'm trying to compile my project, which has both Firebase, Crashlytics/Fabric, and a bunch of other stuff, with Xcode 10 beta 5. It fails during linking with these errors:

Ld /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/appname.app/appname normal arm64 (in target: appname)         cd /Users/Username/iPhone-dev/appname         export IPHONEOS_DEPLOYMENT_TARGET=9.0         /Users/Username/Downloads/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Users/Username/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk -L/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/AFNetworking -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/Actions -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/AppAuth -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/Bluepeer -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/Bolts -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/CocoaAsyncSocket -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/CocoaLumberjack -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/Color-Picker-for-iOS -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/DNPWPSPrinter -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/DataCompression -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/EOSFTPServer -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FBSDKCoreKit -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FBSDKLoginKit -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FastttCamera -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FirebaseAuth -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FirebaseCore -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FirebaseDatabase -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/FirebaseStorage -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/GTMAppAuth -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/GTMSessionFetcher -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/Gloss -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/GoldRaccoon -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/GoogleToolboxForMac -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/HHServices -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/JPSVolumeButtonHandler -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/M13BadgeView -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/ObjectiveDropboxOfficial -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/PhoneNumberKit -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/Protobuf -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/TPCircularBuffer -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/leveldb-library -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/nanopb -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/upnpx -F/Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/xaphodObjCUtils -F/Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS -F/Users/Username/iPhone-dev/appname/Pods/Fabric/iOS -F/Users/Username/iPhone-dev/appname/Pods/FirebaseABTesting/Frameworks -F/Users/Username/iPhone-dev/appname/Pods/FirebaseAnalytics/Frameworks -F/Users/Username/iPhone-dev/appname/Pods/FirebaseDynamicLinks/Frameworks -F/Users/Username/iPhone-dev/appname/Pods/FirebaseInstanceID/Frameworks -F/Users/Username/iPhone-dev/appname/Pods/FirebaseRemoteConfig/Frameworks -F/Users/Username/iPhone-dev/appname/Pods/TwitterCore/iOS -F/Users/Username/iPhone-dev/appname/Pods/TwitterKit/iOS -F/Users/Username/iPhone-dev/appname/cascablecore-binaries/Binaries/iOS -filelist /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Intermediates.noindex/appname.build/Debug-iphoneos/appname.build/Objects-normal/arm64/appname.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -Xlinker -rpath -Xlinker @executable_path/Frameworks -miphoneos-version-min=9.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Intermediates.noindex/appname.build/Debug-iphoneos/appname.build/Objects-normal/arm64/appname_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -L/Users/Username/Downloads/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -Xlinker -add_ast_path -Xlinker /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Intermediates.noindex/appname.build/Debug-iphoneos/appname.build/Objects-normal/arm64/appname.swiftmodule -ObjC -lc++ -licucore -lsqlite3 -lz -framework AFNetworking -framework AVFoundation -framework Accounts -framework Actions -framework AppAuth -framework AssetsLibrary -framework Bluepeer -framework Bolts -framework CFNetwork -framework CocoaAsyncSocket -framework CocoaLumberjack -framework Color_Picker_for_iOS -framework CoreData -framework CoreGraphics -framework CoreMedia -framework CoreText -framework Crashlytics -framework DNPWPSPrinter -framework DataCompression -framework EOSFTPServer -framework FBSDKCoreKit -framework FBSDKLoginKit -framework Fabric -framework FastttCamera -framework FirebaseABTesting -framework FirebaseAnalytics -framework FirebaseAuth -framework FirebaseCore -framework FirebaseCoreDiagnostics -framework FirebaseDatabase -framework FirebaseDynamicLinks -framework FirebaseInstanceID -framework FirebaseNanoPB -framework FirebaseRemoteConfig -framework FirebaseStorage -framework Foundation -framework GTMAppAuth -framework GTMSessionFetcher -framework Gloss -framework GoldRaccoon -framework GoogleToolboxForMac -framework HHServices -framework JPSVolumeButtonHandler -framework M13BadgeView -framework MessageUI -framework MobileCoreServices -framework ObjectiveDropboxOfficial -framework PhoneNumberKit -framework Protobuf -framework QuartzCore -framework SafariServices -framework Security -framework Social -framework StoreKit -framework SystemConfiguration -framework TPCircularBuffer -framework TwitterCore -framework TwitterKit -framework UIKit -framework leveldb -framework nanopb -framework upnpx -framework xaphodObjCUtils -weak_framework WebKit -ObjC -lc++ -licucore -lsqlite3 -lz -lctemplate-ios -letpan-ios -lxml2 -lsasl2 -liconv -ltidy -lz -lc++ -lresolv -stdlib=libc++ -ObjC /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/libMailCore-ios.a -framework SafariServices -framework CascableCore -framework Security -framework CFNetwork -framework MessageUI -framework StoreKit -framework GameKit -framework StopKit -framework Pods_appname -Xlinker -dependency_info -Xlinker /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Intermediates.noindex/appname.build/Debug-iphoneos/appname.build/Objects-normal/arm64/appname_dependency_info.dat -o /Users/Username/Library/Developer/Xcode/DerivedData/appname-lastnamepjksdzfewpftlvqzuglaxplu/Build/Products/Debug-iphoneos/appname.app/appname      duplicate symbol l086 in:         /Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSFileManager.o)         /Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSInternalReport.o)     duplicate symbol l087 in:         /Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSFileManager.o)         /Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSInternalReport.o)     duplicate symbol l088 in:         /Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSSettings.o)         /Users/Username/iPhone-dev/appname/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSInternalReport.o) ....<many more omitted> 

What's the trick to get Google Fabric / Crashlytics working with Xcode 10?

Edit: Thanks to all who have commented so far. What i've tried so far:

  • tried reinstalling the pods / clearing pod caches
  • tried cleaning build folder, then restarting xcode
  • tried playing with -ObjC linker flag. It does indeed look like this flag has something to do with the issue, but unfortunately I need this flag active as I use objective-c frameworks that have static categories on classes

 


I figured out there are two scenarios, one you have to release soon and the other is that you are still developing:

1) If you are have to release soon, delete Xcode-Beta.app Build 5 from the Application folder and install Build 4, link to all stackoverflow XCode versions

2) If you are not pressed by time and you want to continue developing on this XCode Build do the following:

  • open the Podfile and comment out Crashlytics and Fabric pods
  • close XCode, open terminal, browse to your project and run pod install
  • in XCode, press CMD+Shit+F this will open editor pane on the left hand side
  • hit Find button in the upper left corner and change it to Replace (check picture)
  • in the upper text field write Crashlytics.shared
  • in the lower text field write // TO-DO Crashlytics.shared and hit Replace All click here if you are confused where to find this
  • this will allow you to restore the code when this will be fixed by Apple without much work
  • IMPORTANT: remember to delete the last Run Script from Build Phases and add it back once this is fix and you install the pods again
  • Once Apple fixes this follow the instructions of the Fabric Team for installing the pods again.

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: