react-native-community / upgrade-support

A central community-backed place to request and give help when upgrading your app.
MIT License
259 stars 2 forks source link

Getting errors in cstdlib in XCode 11.4 when compiling react-native project after upgrading from 0.60.5 to 0.62.1 #49

Open vinod20191992 opened 4 years ago

vinod20191992 commented 4 years ago

Environment

System: OS: macOS 10.15.3 CPU: (4) x64 Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz Memory: 5.90 GB / 16.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 10.16.3 - /usr/local/bin/node Yarn: Not Found npm: 6.9.0 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: CocoaPods: 1.9.1 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: iOS 13.4, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2 Android SDK: API Levels: 25, 28, 29 Build Tools: 28.0.3, 29.0.1 System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom Android NDK: Not Found IDEs: Android Studio: 3.4 AI-183.6156.11.34.5692245 Xcode: 11.4/11N132i - /usr/bin/xcodebuild Languages: Java: 1.8.0_212 - /usr/bin/javac Python: 2.7.16 - /usr/bin/python npmPackages: @react-native-community/cli: Not Found react: 16.11.0 => 16.11.0 react-native: 0.62.1 => 0.62.1 npmGlobalPackages: react-native: Not Found

Upgrading version

From 0.60.5 to 0.62.1

Description

I had upgraded my react-native project from version 0.60.5 to version 0.62.1 as per instructions given here react-native-community/upgrade-helper#191

After upgrading when i run my project from XCode 11.4 then it throws errors in cstdlib as given in below screenshot:

Screenshot 2020-04-09 at 9 14 38 AM Screenshot 2020-04-09 at 9 14 23 AM

Reproducible demo

Podfile

platform :ios, '10.0' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

def add_flipper_pods! version = '~> 0.33.1' pod 'FlipperKit', version, :configuration => 'Debug' pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug' pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug' pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug' pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug' end

def flipper_post_install(installer) installer.pods_project.targets.each do |target| if target.name == 'YogaKit' target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '4.1' end end end end

target 'MedicBleep' do pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"

pod 'React', :path => '../node_modules/react-native/' pod 'React-Core', :path => '../node_modules/react-native/' pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'

pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'

pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon" pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true

pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' pod 'react-native-bg-thread', :path => '../node_modules/react-native-bg-thread/react-native-bg-thread.podspec'

pod 'Firebase/Core', '~> 6.13.0' pod 'Firebase/Auth', '~> 6.13.0'

pod 'RNDateTimePicker', :path => '../node_modules/@react-native-community/datetimepicker/RNDateTimePicker.podspec'

pod 'ReactNativeAudioToolkit', :path => '../node_modules/@react-native-community/audio-toolkit'

permissions_path = '../node_modules/react-native-permissions/ios' pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec" pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone.podspec" pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec" pod 'Permission-MediaLibrary', :path => "#{permissions_path}/MediaLibrary.podspec"

pod 'RNSVG', :path => '../node_modules/react-native-svg' pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

pod 'TwilioVoice', '5.1.1'

pod 'EmbraceIO' pod 'RNEmbrace', :path => '../node_modules/react-native-embrace'

target 'MedicBleepTests' do inherit! :complete end

use_native_modules!

add_flipper_pods! post_install do |installer| flipper_post_install(installer) end end

target 'MedicBleep-tvOS' do

target 'MedicBleep-tvOSTests' do inherit! :search_paths end

end

YaoHuiJi commented 4 years ago

I met the same issue here, I am not familiar with Xcode and c++, but these errors seems to be related to a header file conflict between the following two files: 1.'/ios/Pods/Flipper-Folly/folly/portability/Stdlib.h' 2.'Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h'

edit: It's ok now...I just delete my project local copy and clone it from remote repo, then upgrade it to 0.62.2, I don't know why, but this time nothing is wrong, maybe some strange dirty cache caused this issue. 🤷‍♂️

ps. at this time, I didn't upgrade react native from 0.60.5 to 0.62.2 directly, first I upgrade it to 0.61.0 and then upgrade it to 0.62.2.

jdegger commented 4 years ago

I'm encountering this, so far not solved. Anyone has a better pointer how to solve this (possible cache) issue without having to remove and clone for again?

theRealSheng commented 4 years ago

+1

apklinker commented 4 years ago

Same issue here, any updates?

iammxrn commented 4 years ago

?

corelmax commented 4 years ago

Still have no luck? Really??

danghung24031992 commented 4 years ago

same

TNielsen92pro commented 4 years ago

Yep same

apklinker commented 4 years ago

Somehow I was able to get mine working, but TBH I don't remember how. I think I restarted the update process from scratch and did it right the second time... Sorry that's probably not helpful to anyone.

BruceSuperProgramer commented 4 years ago

Same issue here

TNielsen92pro commented 4 years ago

I fixed the issue by commenting out the following lines:

add_flipper_pods!
  post_install do |installer|
    flipper_post_install(installer)
  end
end

It seems that flipper somehow uses a lib that overrides the XCode cstlib so that the realm syntax is not recognized. I'm using an old version of Realm (3.3.0) so hopefully this is fixed in newer editions.

Hope this helps someone!

flikQ commented 3 years ago

I fixed the issue by commenting out the following lines:

add_flipper_pods!
  post_install do |installer|
    flipper_post_install(installer)
  end
end

It seems that flipper somehow uses a lib that overrides the XCode cstlib so that the realm syntax is not recognized. I'm using an old version of Realm (3.3.0) so hopefully this is fixed in newer editions.

Hope this helps someone!

This code no longer exists in 0.64.0 but the error persists.

flikQ commented 3 years ago

I'm encountering this, so far not solved. Anyone has a better pointer how to solve this (possible cache) issue without having to remove and clone for again?

Did you ever find a solution? It's happening for me on 0.64.0

zcgong commented 3 years ago

Did anyone ever find a solution? It's happening for me on 0.64.1. Need Help!

theRealSheng commented 3 years ago

Try this in your Pods :

use_flipper!('Flipper-Folly' => '2.5.3', 'Flipper' => '0.87.0', 'Flipper-RSocket' => '1.3.1' ) post_install do |installer| flipper_post_install(installer) end

IM-CrazyDeveloper commented 3 years ago

Did anyone ever find a solution? It's happening for me on 0.64.1. Need Help!

flikQ commented 3 years ago

Still experiencing this. 0.64.0 / 0.64.2 & 0.65.0

IM-CrazyDeveloper commented 3 years ago

Did anyone ever find a solution? It's happening for me on 0.64.1. Need Help!

yes this issue comes on this version, I used downgraded version

flikQ commented 3 years ago

Did anyone ever find a solution? It's happening for me on 0.64.1. Need Help!

yes this issue comes on this version, I used downgraded version

Sadly downgrading isn't an option for us due to a combination of required libraries that need either 0.64 and above. I wish we knew the root causes so we could fix/strip that out.