Skip to content

Duplicate TurboModule symbols in iOS build #345

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

Open
oussamakh96 opened this issue Apr 25, 2025 · 2 comments
Open

Duplicate TurboModule symbols in iOS build #345

oussamakh96 opened this issue Apr 25, 2025 · 2 comments

Comments

@oussamakh96
Copy link

When building an iOS app with eas build, the build fails due to duplicate TurboModule symbols generated by the codegen process. The issue seems to stem from two files in the library:

RNCompressorSpec.js

RNVideoCompressorSpec.js

Both define a TurboModule with the same native spec name: NativeCompressorSpec.

❌ duplicate symbol 'facebook::react::NativeCompressorSpecJSI::NativeCompressorSpecJSI(...)' in
┌─ libReactCodegen.a66
└─ libReactCodegen.a48

❌ duplicate symbol 'OBJC_METACLASS$_NativeCompressorSpecBase' in
❌ duplicate symbol 'OBJC_CLASS$_NativeCompressorSpecBase' in
...
❌ ld: 5 duplicate symbols

🧪 Steps to Reproduce
Install react-native-compressor in a project using Expo + EAS Build.

Run eas build -p ios

Observe that the build fails with duplicate symbol errors related to NativeCompressorSpec.

✅ Expected Behavior
The build should succeed without TurboModule symbol duplication.

💡 Suggested Fix
Either remove one of the duplicate spec files (likely RNVideoCompressorSpec.js), or

Rename one of the specs so both do not register the same NativeCompressorSpec.

This issue blocks EAS iOS builds unless developers manually patch the library using patch-package.

Copy link

👋 @oussamakh96
Thanks for opening your issue here! If you find this package useful hit the star🌟!

@TimoBechtel
Copy link

This was already fixed in v1.10.0 :)

see: #305

(had the same issue)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants