Firebase-ios-sdk: FirebaseCore and FirebaseDynamicLink - Undefined symbols for architecture x86_64

Created on 3 Nov 2018  路  15Comments  路  Source: firebase/firebase-ios-sdk

[REQUIRED] Step 2: Describe your environment

  • Xcode version: 10.0
  • FirebaseCore Framework version: 5.1.6
  • FirebaseDynamicLink Framework: 3.1.0

[REQUIRED] Step 3: Describe the problem

   getting issue by adding FirebaseCore and FirebaseDynamicLink framework. objective c project added by framework not using pod

Relevant Code:

// TODO(you): code here to reproduce the problem
Undefined symbols for architecture x86_64:
  "_GULLoggerRegisterVersion", referenced from:
      ___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
  "_GULLoggerInitializeASL", referenced from:
      ___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
  "_GULLogBasic", referenced from:
      _FIRLogBasic in FirebaseCore(FIRLogger.o)
  "_GULLoggerEnableSTDERR", referenced from:
      ___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
  "_GULIsLoggableLevel", referenced from:
      _FIRIsLoggableLevel in FirebaseCore(FIRLogger.o)
  "_GULSetLoggerLevel", referenced from:
      _FIRSetLoggerLevel in FirebaseCore(FIRLogger.o)
  "_GULLoggerForceDebug", referenced from:
      ___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
question

All 15 comments

The GoogleUtilities framework must be added to satisfy those dependencies.

@paulb777 I am having the same issue, and am attempting to add the GoogleUtilites framework using carthage but I cannot seem to find the binary. https://github.com/firebase/firebase-ios-sdk/blob/master/Carthage.md . Could you please shed light on which one I need to include? Currently I am using the following binaries
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json" "5.15.0" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json" "5.15.0" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json" "5.15.0" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json" "5.15.0"

From the instructions:

Note that FirebaseAnalyticsBinary must always be included.

I am including that as well binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json" binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseRemoteConfigBinary.json"

@paulb777 my bad I left it out before

```Ld /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Products/Debug(dev)-iphonesimulator/Work.app/Work normal x86_64 (in target: Work)
cd /Users/moriah.hammond/Documents/Mobile.iOS.App.Work
export IPHONEOS_DEPLOYMENT_TARGET=11.2
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk -L/Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Products/Debug(dev)-iphonesimulator -F/Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Products/Debug(dev)-iphonesimulator -F/Users/moriah.hammond/Documents/Mobile.iOS.App.Work/Carthage/Build/iOS -F/Users/moriah.hammond/Documents/Mobile.iOS.App.Work -F/Users/moriah.hammond/Documents/Mobile.iOS.App.Work/otherFrameworks -filelist /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Intermediates.noindex/Work.build/Debug(dev)-iphonesimulator/Work.build/Objects-normal/x86_64/Work.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -mios-simulator-version-min=11.2 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Intermediates.noindex/Work.build/Debug(dev)-iphonesimulator/Work.build/Objects-normal/x86_64/Work_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -Xlinker -add_ast_path -Xlinker /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Intermediates.noindex/Work.build/Debug(dev)-iphonesimulator/Work.build/Objects-normal/x86_64/Work.swiftmodule -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Intermediates.noindex/Work.build/Debug(dev)-iphonesimulator/Work.build/Work.app-Simulated.xcent -lc++ -framework FirebaseMessaging -framework Security -framework Differentiator -framework FirebaseAnalytics -framework Crashlytics -framework FirebaseCoreDiagnostics -framework GTMSessionFetcher -framework Alamofire -framework FirebaseInstanceID -framework FirebaseNanoPB -framework FirebaseRemoteConfig -framework GoogleToolboxForMac -framework nanopb -framework Kingfisher -framework FirebaseABTesting -framework Lottie -framework Protobuf -framework RxCocoa -framework RxDataSources -framework FirebaseFunctions -framework FirebaseCore -framework RxSwift -framework SnagFoundation -framework Fabric -Xlinker -dependency_info -Xlinker /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Intermediates.noindex/Work.build/Debug(dev)-iphonesimulator/Work.build/Objects-normal/x86_64/Work_dependency_info.dat -o /Users/moriah.hammond/Library/Developer/Xcode/DerivedData/Work-cedqtegpmjnjwhdceqhhtvqvhbaq/Build/Products/Debug(dev)-iphonesimulator/Work.app/Work

Undefined symbols for architecture x86_64:
"_GULSetLoggerLevel", referenced from:
_FIRSetLoggerLevel in FirebaseCore(FIRLogger.o)
"_GULLoggerRegisterVersion", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULLoggerInitializeASL", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULLoggerEnableSTDERR", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULLoggerForceDebug", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_OBJC_CLASS_$_APMAnalytics", referenced from:
objc-class-ref in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_kAPMMonitorLogTagOptionKey", referenced from:
+[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_gAPMAppMeasurementLibraryVersion", referenced from:
+[FIRAnalytics initialize] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_kAPMIsAnalyticsCollectionEnabled", referenced from:
+[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_METACLASS_$_APMMeasurement", referenced from:
_OBJC_METACLASS_$_FIRAMeasurement in FirebaseAnalytics(FIRAMeasurement_7113499ff6c634053dac5bf06844d505.o)
"_OBJC_CLASS_$_GULUserDefaults", referenced from:
objc-class-ref in FirebaseInstanceID(FIRInstanceIDStore_d561cdee2d9f8fc26566b1c545e02875.o)
objc-class-ref in FirebaseInstanceID(FIRInstanceIDCheckinPreferences_306fdb082ecca463aff31a603a452ec5.o)
objc-class-ref in FirebaseInstanceID(FIRInstanceIDUtilities_e6b1b6e92e6be2bfdc1b4326e55da04d.o)
"_APMFormattedUserPropertyName", referenced from:
+[FIRAnalytics setUserPropertyString:forName:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_METACLASS_$_APMSessionReporter", referenced from:
_OBJC_METACLASS_$_FIRASessionReporter in FirebaseAnalytics(FIRASessionReporter_fedb19668cf4c09fe19f4dd3dd423569.o)
"_OBJC_CLASS_$_APMValue", referenced from:
_OBJC_CLASS_$_FIRAValue in FirebaseAnalytics(FIRAValue_2e0ad7f420162fa95ff8e12af195aa2b.o)
"_OBJC_CLASS_$_APMMeasurement", referenced from:
objc-class-ref in FirebaseAnalytics(FIRAMeasurement_7113499ff6c634053dac5bf06844d505.o)
_OBJC_CLASS_$_FIRAMeasurement in FirebaseAnalytics(FIRAMeasurement_7113499ff6c634053dac5bf06844d505.o)
objc-class-ref in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_METACLASS_$_APMAdExposureReporter", referenced from:
_OBJC_METACLASS_$_FIRAAdExposureReporter in FirebaseAnalytics(FIRAAdExposureReporter_9f9da43a0e4ed4258a1c1de8d08084f3.o)
"_OBJC_METACLASS_$_APMConditionalUserProperty", referenced from:
_OBJC_METACLASS_$_FIRAConditionalUserProperty in FirebaseAnalytics(FIRAConditionalUserProperty_991dd1dfefbe571de6dbf327969af9a0.o)
"_OBJC_METACLASS_$_APMScreenViewReporter", referenced from:
_OBJC_METACLASS_$_FIRAScreenViewReporter in FirebaseAnalytics(FIRAScreenViewReporter_ded399434f21648531c172048caa1206.o)
"_OBJC_CLASS_$_APMScreenViewReporter", referenced from:
objc-class-ref in FirebaseAnalytics(FIRAScreenViewReporter_ded399434f21648531c172048caa1206.o)
_OBJC_CLASS_$_FIRAScreenViewReporter in FirebaseAnalytics(FIRAScreenViewReporter_ded399434f21648531c172048caa1206.o)
"_OBJC_CLASS_$_APMAdExposureReporter", referenced from:
_OBJC_CLASS_$_FIRAAdExposureReporter in FirebaseAnalytics(FIRAAdExposureReporter_9f9da43a0e4ed4258a1c1de8d08084f3.o)
"_APMFormattedEventName", referenced from:
+[FIRAnalytics logEventWithOrigin:name:parameters:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_CLASS_$_APMConditionalUserProperty", referenced from:
_OBJC_CLASS_$_FIRAConditionalUserProperty in FirebaseAnalytics(FIRAConditionalUserProperty_991dd1dfefbe571de6dbf327969af9a0.o)
"_OBJC_CLASS_$_APMEvent", referenced from:
_OBJC_CLASS_$_FIRAEvent in FirebaseAnalytics(FIRAEvent_c32f39c4e1681f460e696def59992d96.o)
"_kAPMSafelistedEventsOptionKey", referenced from:
+[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_METACLASS_$_APMEvent", referenced from:
_OBJC_METACLASS_$_FIRAEvent in FirebaseAnalytics(FIRAEvent_c32f39c4e1681f460e696def59992d96.o)
"_OBJC_CLASS_$_GULNetwork", referenced from:
objc-class-ref in FirebaseCoreDiagnostics(FIRClearcutLogger_39f37e7cc81dbdcb1b22721b95a40297.o)
"_kAPMIsAnalyticsCollectionDeactivated", referenced from:
+[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_CLASS_$_APMConditionalUserPropertyController", referenced from:
_OBJC_CLASS_$_FIRAConditionalUserPropertyController in FirebaseAnalytics(FIRAConditionalUserPropertyController_faf82aa1c60b80614f617fe3e96f08fe.o)
"_OBJC_CLASS_$_APMSessionReporter", referenced from:
_OBJC_CLASS_$_FIRASessionReporter in FirebaseAnalytics(FIRASessionReporter_fedb19668cf4c09fe19f4dd3dd423569.o)
"_GULIsLoggableLevel", referenced from:
_FIRIsLoggableLevel in FirebaseCore(FIRLogger.o)
"_OBJC_CLASS_$_APMIdentifiers", referenced from:
_OBJC_CLASS_$_FIRAIdentifiers in FirebaseAnalytics(FIRAIdentifiers_16c07d77c69044b43f7b9de70da25f9f.o)
"_OBJC_CLASS_$_GULReachabilityChecker", referenced from:
objc-class-ref in FirebaseMessaging(FIRMessaging.o)
"_OBJC_METACLASS_$_APMIdentifiers", referenced from:
_OBJC_METACLASS_$_FIRAIdentifiers in FirebaseAnalytics(FIRAIdentifiers_16c07d77c69044b43f7b9de70da25f9f.o)
"_GULLogBasic", referenced from:
_FIRLogBasic in FirebaseCore(FIRLogger.o)
"_OBJC_METACLASS_$_APMUserAttribute", referenced from:
_OBJC_METACLASS_$_FIRAUserAttribute in FirebaseAnalytics(FIRAUserAttribute_66224d31710f67eef7b8c0e9f1c05115.o)
"_OBJC_CLASS_$_APMUserAttribute", referenced from:
_OBJC_CLASS_$_FIRAUserAttribute in FirebaseAnalytics(FIRAUserAttribute_66224d31710f67eef7b8c0e9f1c05115.o)
"_OBJC_METACLASS_$_APMConditionalUserPropertyController", referenced from:
_OBJC_METACLASS_$_FIRAConditionalUserPropertyController in FirebaseAnalytics(FIRAConditionalUserPropertyController_faf82aa1c60b80614f617fe3e96f08fe.o)
"_kAPMAnalyticsConfiguration", referenced from:
+[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_kAPMAppMeasurementOriginFirebase", referenced from:
+[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_ca9cdf99cfbae2f51d040b73dd242e94.o)
"_OBJC_CLASS_$_GULAppEnvironmentUtil", referenced from:
objc-class-ref in FirebaseMessaging(FIRMessagingReceiver.o)
objc-class-ref in FirebaseMessaging(FIRMessagingAnalytics.o)
objc-class-ref in FirebaseCoreDiagnostics(FIRDiagnostics_b8d2083bbf595e32a15f4c92bf56379b.o)
objc-class-ref in FirebaseRemoteConfig(RCNConfigSettings_22e23cfa4b36fa0d65a3f7296e546bb7.o)
objc-class-ref in FirebaseMessaging(FIRMessagingUtilities.o)
objc-class-ref in FirebaseRemoteConfig(RCNDevice_b34010fb0ab3a3316b3c7f3a7a1f6525.o)
"_OBJC_METACLASS_$_APMValue", referenced from:
_OBJC_METACLASS_$_FIRAValue in FirebaseAnalytics(FIRAValue_2e0ad7f420162fa95ff8e12af195aa2b.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```

Those symbols indicate that the GoogleUtilities and AppMeasurement frameworks aren't being linked.

@moriah-hammond I have the same issue. Did you managed to solve it ?
It looks like underscores causing an issue: In for instance it complains about _GULIsLoggableLevel but there is GULIsLoggableLevel.

@paulb777 Can you please point me to the appropriate binary URLS https://github.com/firebase/firebase-ios-sdk/blob/master/Carthage.md for the GoogleUtilities and AppMeasurement frameworks so that I can bring them in using carthage

@moriah-hammond binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"

Did you solve the problem?
i have the same problem, i use without CocoaPods,
it used to run fine when using FirebaseAnalyticsBinary, and FirebaseRemoteMessaging,
however, after adding FirebaseRemoteConfigBinary I get:

Undefined symbols for architecture arm64:
"_GULIsLoggableLevel", referenced from:
_FIRIsLoggableLevel in FirebaseCore(FIRLogger.o)
"_GULLogBasic", referenced from:
_FIRLogBasic in FirebaseCore(FIRLogger.o)
"_GULLoggerEnableSTDERR", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULLoggerForceDebug", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULLoggerInitializeASL", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULLoggerRegisterVersion", referenced from:
___FIRLoggerInitializeASL_block_invoke in FirebaseCore(FIRLogger.o)
"_GULSetLoggerLevel", referenced from:
_FIRSetLoggerLevel in FirebaseCore(FIRLogger.o)
"_OBJC_CLASS_$_GULAppEnvironmentUtil", referenced from:
objc-class-ref in FirebaseInstanceID(FIRInstanceID.o)
"_OBJC_CLASS_$_GULUserDefaults", referenced from:
objc-class-ref in FirebaseInstanceID(FIRInstanceIDCheckinPreferences.o)
objc-class-ref in FirebaseInstanceID(FIRInstanceIDUtilities.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Please need help.

@zero-tolerance0 It looks like the GoogleUtilities.framework is not being linked.

Actually I successfully built project after adding RemoteConfig, what I did:

added all firebase frameworks to my target(s) that needs to be added as well as pointed out upwards by @paulb777 which are:
googleUtilities
nano
firebaseNano
protobuf
firebase
firebaseAnalytics
firebaseAnalyticsConnector
A/b testing
googleAppMeasurements

as someone in comments stated:
"Firebase.framework
FirebaseCore.framework
FirebaseInstanceID.framework
GoogleUtilities.framework
Protobuf.framework"
must be included.

lastly I updated all versions of this frameworks and build the project,

problem has gone, thanks

Hi,
I am working on integration firebase ML vision kit without using the cocoa pods:

I am able to integrate the firebase鈥檚 analytics frameworks(there are 8 frameworks)in demo project and project build successfully.
I was trying same things with required firebase MLVision (there are 7 frameworks) and MLVisionTextModel (there are 3 frameworks with 1 resource folder).
I am getting below error as
ld: framework not found FirebaseMLVisionTextModel
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The framework FirebaseMLVisionTextModel doesn't have FirebaseMLVisionTextModel.h file. It doesn't exist header folder which is missing in FirebaseMLVisionTextModel framework:
I am getting same issue for TextDetector.framework which doesn't have any header folder.

Firebase.h : FirebaseMLVisionTextModel.h file deceleration:

if __has_include()

import

endif

Pls suggest how do I fix this problem.
How do I use FirebaseMLVisionTextModel and TextDetector framework which are doesn't have any header , these framework only exec file?

Xcode version: 10.1
Firebase SDK version: 5.20.2
Firebase Component: ML Kit (text recognition)
Component version:

I raised this issue separate thread:
https://github.com/firebase/firebase-ios-sdk/issues/2848

Problem has been fixed.
Thanks.

Was this page helpful?
0 / 5 - 0 ratings