Yeah, we're late to the party and still using the old build system. Although when trying to use the new one, the same error still happens and it doesn't build. ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
❌ Manually removing conflics in
ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
2:
We've tried to manually remove conflicting links on a ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
3 in our ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
2. The script looks as below.
The links were removed but that solution does not work. Same error happens (duplicate symbols for architecture x86_64). post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
❌ Disabling
ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
5 for conflicting dependencies on ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
6:
By disabling React Native's autolink for the conflicting dependencies in ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
6 file, the project still does not build, and a new error appears. module.exports = { dependencies: { ..., '@react-native-community/masked-view': { platforms: { ios: null, }, }, 'react-native-safe-area-context': { platforms: { ios: null, }, }, 'react-native-screens': { platforms: { ios: null, }, }, }, };
A new error happens when trying to build: ld: library not found for -lRNCMaskedView clang: error: linker command failed with exit code 1 (use -v to see invocation)
❌ Removing conflicting dependencies from
ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
8:
By removing the conflicting dependencies below from ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
8 and re-installing our modules and pods (by running the commands below). yarn remove @react-native-community/masked-view react-native-screens react-native-safe-area-context rm -rf node_modules yarn.lock yarn install cd ios rm -rf Podfile.lock Pods pod install
build on XCode
On this repository, the project builds and works correctly! But I guess this happens since we don't really use these dependencies here (they were just installed via post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
0). On our project another error happens during build, since we actually import and use these dependencies: ld: library not found for -lRNCMaskedView clang: error: linker command failed with exit code 1 (use -v to see invocation)
❌ Tinkering with XCode build settings:
We've tried to change a few XCode build settings as mentioned in a few Stack Overflow posts, but none of them worked.
- ❗ Removing
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
1 flag
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
2 in XCode
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
3: It builds! But doesn't work as stated in its topic below. - 😵 Setting
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
4 to
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
5 under
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
3. - 😵 Setting
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
7 to
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
5 under
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
3. - 😵 Running in production and debug modes.
- 😵 Removing
module.exports = { dependencies: { ..., '@react-native-community/masked-view': { platforms: { ios: null, }, }, 'react-native-safe-area-context': { platforms: { ios: null, }, }, 'react-native-screens': { platforms: { ios: null, }, }, }, };
0 under
module.exports = { dependencies: { ..., '@react-native-community/masked-view': { platforms: { ios: null, }, }, 'react-native-safe-area-context': { platforms: { ios: null, }, }, 'react-native-screens': { platforms: { ios: null, }, }, }, };
1. - 😵 Removing duplicated (there were none) items in
module.exports = { dependencies: { ..., '@react-native-community/masked-view': { platforms: { ios: null, }, }, 'react-native-safe-area-context': { platforms: { ios: null, }, }, 'react-native-screens': { platforms: { ios: null, }, }, }, };
2 under
module.exports = { dependencies: { ..., '@react-native-community/masked-view': { platforms: { ios: null, }, }, 'react-native-safe-area-context': { platforms: { ios: null, }, }, 'react-native-screens': { platforms: { ios: null, }, }, }, };
1. - 😵 Removing duplicated (there were none) libraries in
module.exports = { dependencies: { ..., '@react-native-community/masked-view': { platforms: { ios: null, }, }, 'react-native-safe-area-context': { platforms: { ios: null, }, }, 'react-native-screens': { platforms: { ios: null, }, }, }, };
4 folder in XCode.
❓ Removing
post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
1 flag in post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
2 under XCode's post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
3:
By removing post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
1 flag from post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
2 (located in post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
- on XCode, the project builds!
...but it immediately force-closes after opening 😞. The error below pops up. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RCTRootView setReactTag:]: unrecognized selector sent to instance 0x7f84f6e10f40' terminating with uncaught exception of type NSException abort() called CoreSimulator 681.17.2 - Device: iPhone 11 (0974E59B-9AA8-4E0B-915D-A083AB917955) - Runtime: iOS 13.3 (17C45) - DeviceType: iPhone 11
When looking at the exception that caused the app to crash with Mac OS ld: library not found for -lRNCMaskedView clang: error: linker command failed with exit code 1 (use -v to see invocation)
1: 2020-01-17 14:35:13.414 [info][tid:main][RCTBridge.m:145] Class EXDisabledRedBox was not exported. Did you forget to use RCT_EXPORT_MODULE()?
Apparently, post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
1 is necessary to correctly build all the dependencies.
❌ Add React dependencies to
ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
2:
When seeing the error above, while still without post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
1 flag in post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
2 under XCode's post_install do |installer| installer.pods_project.targets.each do |target| if %w(RNScreens RNCMaskedView react-native-safe-area-context).include?(target.name) target.remove_from_project end end end
3, we've tried adding the missing pods as described above ( ld: library not found for -lRNCMaskedView clang: error: linker command failed with exit code 1 (use -v to see invocation)
- in our
ld: 90 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
2: