NativeScript / NativeScript/nativescript-cli
Intermittent build issues: "ld: can't open file, errno=13 file TNSWidgets" for architecture
還沒有人認領這個 Issue。
- 主要語言
- JavaScript
- 星號
- 1.1k
- 分支
- 204
- 平均合併
- 1 天 9 小時
- 30 天內合併 PR
- 8
描述
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
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
從隨附的 build_log.txt 開始,並使用 ns build ios 或 ns run ios --device <DEVICE_ID> 重現問題。比較 TNSWidgets.framework 路徑附近失敗與成功時的 linker 輸出,並檢查 build.xcconfig 中新增的 VALIDATE_WORKSPACE = YES; 設定。完成的標準是識別並防止所有回報架構中間歇性發生的 linker 失敗。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- ios, javascript
- 領域
- build-system, cli, mobile-dev
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 25/100