5

Im trying to update the Google Cast SDK from version 4.3.0 to 4.4.4 this due to the fact that the new version contains some fixes for iOS 13.

Since the update I get these build errors. It seems that both React and the cast SDK are using the same symbol and that's why is returns an error.

I'm trying to understand how to fix this error. I am unable to delete one of these libraries because I need them both and I'm also unable to change the code since they are both third party libraries.

I found this issue tracker and it seems to be a common error starting SDK 4.3.1. It seems to be fixed when using the dynamic framework for the Google Cast SDK but it's not the best situation because it's not available on CocoaPods.

Anyone who experienced a simular problem?

Error:

duplicate symbol 'fLB::FLAGS_nosymbolize_stacktrace' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(examine_stack_7d30b36ef2bc773365435990abbc0852.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(utilities.o)
duplicate symbol 'fLB::FLAGS_symbolize_stacktrace' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(examine_stack_7d30b36ef2bc773365435990abbc0852.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(utilities.o)
duplicate symbol 'fLB::FLAGS_nolog_prefix' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLB::FLAGS_log_prefix' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLB::FLAGS_noalsologtostderr' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLB::FLAGS_alsologtostderr' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLB::FLAGS_nologtostderr' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLB::FLAGS_logtostderr' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLI::FLAGS_nostderrthreshold' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLI::FLAGS_stderrthreshold' in:
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(logging_1c50ea684ad2fde4aa9d3832c43a57ad.o)
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(logging.o)
duplicate symbol 'fLI::FLAGS_nov' in:
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(vlog_is_on.o)
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(vlog_is_on_94102400bc1882a13cea0800c3a3a9ef.o)
duplicate symbol 'fLI::FLAGS_v' in:
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(vlog_is_on.o)
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(vlog_is_on_94102400bc1882a13cea0800c3a3a9ef.o)
duplicate symbol 'fLS::FLAGS_vmodule' in:
    /Users/name/Library/Developer/Xcode/DerivedData/tcapp-fxwrsskmvzcadqerqdzaoopqzsqu/Build/Products/Debug-iphoneos/libReact.a(vlog_is_on.o)
    /Users/name/Documents/projects/app_name/ios/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.4_static/GoogleCast.framework/GoogleCast(vlog_is_on_94102400bc1882a13cea0800c3a3a9ef.o)

ld: 13 duplicate symbols for architecture arm64
Nieck
  • 1,626
  • 3
  • 21
  • 41

2 Answers2

2

From your errors, Did you try to delete files in DerivedData folder?

Edit : Few days later I fixed duplicate issue by remove "-all_load" in Build Settings > Other Linker Flags

Pokotuz
  • 121
  • 1
  • 5
  • I tried, even deleting pods + pod.lock + workspace doesn't work – Charly berthet Sep 28 '19 at 10:18
  • Yep same, cleared everything. Issue does exist with both xCode 10 and xCode 11 – Nieck Sep 28 '19 at 20:02
  • Looks like a conflict of symbols with another lib because it works fine when you add GoogleCast SDK to a new empty project. In my case it is a conflict with Glog lib – Charly berthet Sep 29 '19 at 10:37
  • @Nieck issue already reported to Google, you can track here https://issuetracker.google.com/issues/113069508 – Charly berthet Sep 29 '19 at 10:44
  • One workaround is to use the dynamic Google SDK framework. I was able to build my project with this last one. Unfortunately there is not pod available so you need to go through the manual install. – Charly berthet Sep 29 '19 at 11:51
  • I fixed my issue by remove "-all_load" in Build Settings > Other Linker Flags (in case you have it there) – Pokotuz Oct 01 '19 at 06:11
0

As mentioned here https://issuetracker.google.com/issues/113069508 as a workaround you can use the dynamic SDK and go through the manual Setup https://developers.google.com/cast/docs/ios_sender

Charly berthet
  • 1,178
  • 5
  • 15
  • 31
  • I guess it's the only option. I'm not a fan of the solution because you can't install it using cocoapods so I have to pack the framework with my app (which is about 100mb). – Nieck Sep 29 '19 at 14:31