Skip to content

iOS cloud build xcode error "ld: symbol(s) not found for architecture armv7" #5141

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Sauvetonbio opened this issue Nov 17, 2019 · 6 comments
Labels
bug cloud Describes issues related to cloud operations

Comments

@Sauvetonbio
Copy link

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI: 6.2.0
  • iOS Runtime: 6.2.0
  • Plugin(s): nativescript-firebase

Describe the bug
The plugin "nativescript-firebase" use FBSDKCoreKit installed via pods. Installation result error when trying with cloud builds, this pod is related to Facebook Login, it could affect others NS devs.

The following build commands failed:
Ld /tmp/builds/_/d480723adf9bab509a22b71c25e628361710f2ee/6.2.0/6.2.0/SauveTonBio/platforms/ios/DerivedData/SauveTonBio/Build/Intermediates.noindex/ArchiveIntermediates/SauveTonBio/IntermediateBuildFilesPath/Pods.build/Debug-iphoneos/FBSDKCoreKit.build/Objects-normal/armv7/FBSDKCoreKit normal armv7
(1 failure)

[00:03:31.152] [ERROR] [xcode-build] ld: symbol(s) not found for architecture armv7
[xcode-build] clang: error: linker command failed with exit code 1 (use -v to see invocation)
[00:03:32.762] [ERROR] ** ARCHIVE FAILED **

To Reproduce
tns cloud clean workspace && tns cloud run ios
You need certificate and mobile provision from Apple dev account as NS-CLI 6.2.0 can't generate it for free user.

Expected behavior
FBSDKCoreKit well installed.

Sample project
https://github.com/EddyVerbruggen/nativescript-plugin-firebase/tree/master/demo

@rosen-vladimirov
Copy link
Contributor

Hey @Sauvetonbio ,
Thank you for reporting this issue. We've applied a fix in our Cloud infrastructure, so can you please try building your project again and confirm it works on your side? As the issue has been resolved, I'm closing it, but feel free to reopen it in case you still receive the same error when building in the cloud.

@Sauvetonbio
Copy link
Author

Thank you for quick updates ! We don't receive this error anymore but unfortunally when I build my project with Facebook Login it stucks at this step ▸ Running script '[CP] Embed Pods Frameworks'.
Tried twice using this windows command line : rmdir /Q /S platforms && tns cloud clean workspace && tns cloud run ios --clean

Project is still successfully built without the Facebook iOS SDK included.
Thank you.

@mbektchiev
Copy link
Contributor

@Sauvetonbio We checked the logs on cloud and it seems that your builds are successful, but we have an issue with builds taking over 15 minutes (as yours) that's going to be fixed today or tomorrow.

Meanwhile, when your build hangs, wait a couple of minutes and start a second incremental build. It should succeed. Incremental builds should finish faster and shouldn't hit the 15 minutes limit.

@Sauvetonbio
Copy link
Author

Hello, yes incremental builds are faster but always cause crash app at launch with physical device, we did'nt try with emulator. It's due to the "nativescript-firebase" plugin when we use the messaging module (app notifications).

When we disable the messaging module, incremental builds works fine, and app run correctly.

JavaScript error:
file:///node_modules\nativescript-plugin-firebase\messaging\messaging.js:214:37: JS ERROR TypeError: null is not an object (evaluating 'FIRMessaging.messaging().shouldEstablishDirectChannel = true')
*** JavaScript call stack:
(
0 UIApplicationMain@[native code]
1 _start@file:///node_modules\tns-core-modules\application\application.js:277:26
2 run@file:///node_modules\tns-core-modules\application\application.js:305:11
3 $start@file:///node_modules\nativescript-vue\dist\index.js:14050:2
4 @file:///app/bundle.js:6827:10
5 ./app.js@file:///app/bundle.js:6831:34
6 webpack_require@file:///app\webpack\bootstrap:74:0
7 checkDeferredModules@file:///app\webpack\bootstrap:43:0
8 webpackJsonpCallback@file:///app\webpack\bootstrap:30:0
9 anonymous@file:///app/bundle.js:2:61
10 evaluate@[native code]
11 moduleEvaluation@:1:11
12 promiseReactionJob@:1:11
)
*** Terminating app due to uncaught exception 'NativeScript encountered a fatal error: TypeError: null is not an object (evaluating 'FIRMessaging.messaging().shouldEstablishDirectChannel = true')
at
file:///node_modules\nativescript-plugin-firebase\messaging\messaging.js:214:37

@mbektchiev
Copy link
Contributor

@Sauvetonbio Have you checked the solution from this issue: EddyVerbruggen/nativescript-plugin-firebase#1334?

@Sauvetonbio
Copy link
Author

Yes, we already use this "solution", it's not working with incremental builds but only with fresh clean builds using --clean or tns cloud clean workspace. It's quite weird ...
I think we will disable this module on debug mode, and don't forget to enable it for release builds.

Thank you for your support, I'm very happy to develop iOS apps on windows with your cloud builds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug cloud Describes issues related to cloud operations
Projects
None yet
Development

No branches or pull requests

4 participants