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 inld: 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
❌ Disablingld: 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 fromld: 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 installbuild 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.
❓ Removingpost_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 told: 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: |