-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
π§ build errorIssue is related to building VisionCamera in your projectIssue is related to building VisionCamera in your project
Description
How were you trying to build the app?
Description
Android release build fails with multiple undefined symbol: RNWorklet::* linker errors on x86 and x86_64 architectures. The build succeeds for arm64-v8a and armeabi-v7a.
Environment
- react-native-vision-camera: 4.7.3
- react-native-worklets-core: 1.6.2
- react-native: 0.81.0
- expo: Bare Workflow
- NDK version: 27.1.12297006
- Platform: Android
Build Command
./gradlew bundleRelease
Observations
β
react-native-worklets-core builds librnworklets.so successfully for all architectures
β
Build succeeds for arm64-v8a and armeabi-v7a
β Build fails for x86 and x86_64
CMake logs show: [VisionCamera] react-native-worklets-core found, Frame Processors are enabled!
It seems like VisionCamera's CMake configuration is not properly linking against librnworklets.so on x86 architectures.
Workaround
Excluding x86/x86_64 in android/app/build.gradle:
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
Related
Possibly related to the CMake target_link_libraries configuration for x86
### Full build logs
```tsx
> Task :react-native-vision-camera:buildCMakeRelWithDebInfo[x86] FAILED
ld.lld: error: undefined symbol: RNWorklet::JsiWorkletContext::initialize(...)
>>> referenced by JVisionCameraProxy.cpp:45
ld.lld: error: undefined symbol: RNWorklet::JsiWorkletContext::JsiWorkletContext(...)
ld.lld: error: undefined symbol: RNWorklet::JsiHostObject::JsiHostObject()
ld.lld: error: undefined symbol: RNWorklet::JsiHostObject::~JsiHostObject()
ld.lld: error: undefined symbol: RNWorklet::JsiWrapper::wrap(...)
ld.lld: error: undefined symbol: RNWorklet::JsiWorkletContext::getWorkletRuntime()
ld.lld: error: undefined symbol: RNWorklet::RuntimeLifecycleMonitor::addListener(...)
ld.lld: error: undefined symbol: RNWorklet::RuntimeLifecycleMonitor::removeListener(...)
ld.lld: error: undefined symbol: typeinfo for RNWorklet::JsiHostObject
clang++: error: linker command failed with exit code 1
ninja: build stopped: subcommand failed.Project dependencies
- **react-native-vision-camera**: 4.7.3
- **react-native-worklets-core**: 1.6.2
- **react-native**: 0.81.0
- **expo**: Bare Workflow
- **NDK version**: 27.1.12297006
- **Platform**: AndroidVisionCamera Version
4.7.3
Target platforms
Android
Operating system
MacOS
Can you build the VisionCamera Example app?
I didn't try (
Additional information
- I am using Expo
- I have enabled Frame Processors (react-native-worklets-core)
- I have read the Troubleshooting Guide
- I agree to follow this project's Code of Conduct
- I searched for similar issues in this repository and found none.
Metadata
Metadata
Assignees
Labels
π§ build errorIssue is related to building VisionCamera in your projectIssue is related to building VisionCamera in your project