Bitrise Build Issue Report template
Description of the issue
Error building project on bitrise while same script working locally
Undefined symbols for architecture arm64
Symbol: OBJC_CLASS$_ARWorldTrackingConfiguration
Referenced from: objc-class-ref in ARSessionNative.o
Environment:
Tried Xcode 9.3.x macOS 10.13 and Xcode 9.2.x macOS 10.12 both failing
If on Bitrise.io: which stack? If not on Bitrise.io: on what operating system? (Plus any other information you can share)
xcode archive
Reproducibility
- Does a “Rebuild” help? (You can trigger a rebuild from the Build’s page, by clicking the “Rebuild” button in the top right corner of a finished build) : NO
- Does a rebuild without caches help? (You can remove the
Cache:Pull
and Cache:Push
steps temporarily to not to use the cache, or you can delete all the caches on the Settings
tab of the app. : YES/NO
- Does the issue happen sporadically, or every time? :every time
- Does upgrading the build Step to the latest version help? : NO
Local reproduction
it can’t be reproed locally with Xcode 9.2 and macOS 10.13
Build log
https://www.bitrise.io/build/62124e28cd612e48
Hi @jeffwithin,
Thanks for filling out the issue report!
From the log it seems it’s a compile flag / architecture issue, probably in one of your dependencies. See e.g. https://stackoverflow.com/questions/19213782/undefined-symbols-for-architecture-arm64
We’ll also try to dig deeper in this ASAP!
I guess what confuses me is that same script works correctly on my local machine
Hey @jeffwithin!
The last time I’ve seen this issue it was a linking issue in my project. Viktor is right, it is still linking issue, the reason why the project is working on your local PC and not on Bitrise is that you have linked libraries/files that are matching with your machine. So for example you might added a framework without copying in the project, so it is linked like /Users/myusername/…/…, and when you build the project on Bitrise, the framework is just not under the same path, can be because of the mismatching username in the path, or the file is in a location on your local PC that is not part of your git repo.
Please check the linked frameworks and so, I think you will find an issue somewhere there. Locally you can check it like creating another dummy user -> login to that user, clone the repo there, and try to build it. I think then it will point you to the right direction!
Please let us know how it goes!
1 Like
That makes sense but the symbol it says it’s missing _ARWorldTrackingConfiguration is part of the apple arkit framework which should be included with Xcode 9.2, there was a naming change for this class during some version of Xcode 9.2 beta, can you check if your build machines indeed have the latest Xcode 9.2 (9C40b)?
We have the final Xcode 9.2 installed on the Xcode 9.2.x stack - you can check this by running xcodebuild -version
in a Script step, as well as it’s included in the Xcode Archive step’s log → at the start of the step’s log you can find the configs as well as some tool versions printed:
+------------------------------------------------------------------------------+
| (8) xcode-archive@2.4.6 |
+------------------------------------------------------------------------------+
| id: xcode-archive |
| version: 2.4.6 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2018-02-16T14:54:08-08:00 |
+------------------------------------------------------------------------------+
| |
...
e[34;1mstep determined configs:e[0m
- xcodebuildVersion: 9.2.0 (9C40b)
...
as well as we include the Xcode version in the stack’s system report too:
in case of Xcode 9.2.x stack: bitrise.io/osx-xcode-9.2.x.log at 410dd7fbe13b3ac935ac0ab5775b21d6cd5c9502 · bitrise-io/bitrise.io · GitHub
1 Like
I’m having the same issue.
How do I make sure the ARKIt library is included when using bitrise ?
Hello there!
As far as apple docs go, ARKit comes with Xcode 9 or up preinstalled.
for your issue, could you send me a build url or log please?