NativeScript / NativeScript/nativescript-cli
Intermittent build issues: "ld: can't open file, errno=13 file TNSWidgets" for architecture
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.1k
- Forks
- 204
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 8
Description
Environment
Using VueJS
- CLI: 7.0.12
- Cross-platform modules:
- Android Runtime: X - not installed we do not have to worry about this
- iOS Runtime: 7.0.6
- XCode Version: 12.2 (Was on 12.3 but downgraded and still saw issues)
- Plugin(s):
nativescript-custom-entitlementsand a custom internal one that doesn't add anynpmdependencies it's just a company managed CocoaPod.
Describe the bug
Build/Rebuild timeframe (Xcode experiences the same issue when executing a build). It happens when we are debugging it against the device and the app recompiles. I have seen this error for architecture arm64 or x86_64.
I keep getting variations of the following (with different architecture)
ld: can't open file, errno=13 file '<path_to_project>/node_modules/@nativescript/core/platforms/ios/TNSWidgets.framework/TNSWidgets' for architecture <architecture>
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I see this when it's working (if that helps):
ld: warning: dylib (<path_to_project>/node_modules/@nativescript/core/platforms/ios/TNSWidgets.framework/TNSWidgets) was built for newer iOS version (9.2) than being linked (9.0)
Here is the verbose output when running build.
build_log.txt
Sometimes cleaning and rebuilding causes it to go away but it will then randomly show up again when the app re-builds during an ns run ios --device <DEVICE_ID>.
To Reproduce
ns build ios
It also appears intermittently when running:
ns run ios --device <DEVICE_ID>
Expected behavior
Shouldn't crash/fail intermittently. This seemed to have randomly started up mid last week.
Sample project
Just a base VueJS project that is taking advantage of the WebView. The only downside is I'm using an internal CocoaPod that is managed by another team at my company. Though this shouldn't be the primary issue.
Additional context
I've followed some of the bug tickets and most conclude to use Xcode 12.2 (I was on 12.3 and downgraded but still experienced the issue).
I also added VALIDATE_WORKSPACE = YES; to my build.xcconfig
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached build_log.txt and reproduce using ns build ios or ns run ios --device <DEVICE_ID>. Compare failing and successful linker output around the TNSWidgets.framework path and review the added VALIDATE_WORKSPACE = YES; setting in build.xcconfig. Done means identifying and preventing the intermittent linker failure across the reported architectures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, javascript
- Domain
- build-system, cli, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100