react-native: Undefined symbols for architecture x86_64 (React Native 0.61.2, Mac Catalyst)

The goal is to run React Native Apps as a MacOS App, using the released Mac Catalyst technology. The error occurs with a blank React Native Project (0.61.2), when building it for MacOS. The app runs for iOS and iPadOS.

React Native version: System: OS: macOS 10.15 CPU: (8) x64 Intel® Core™ i7-4750HQ CPU @ 2.00GHz Memory: 90.74 MB / 8.00 GB Shell: 5.0.11 - /usr/local/bin/bash Binaries: Node: 10.16.3 - /usr/local/bin/node npm: 6.11.3 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman SDKs: iOS SDK: Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1 Android SDK: API Levels: 28, 29 Build Tools: 28.0.3, 29.0.2 System Images: android-28 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom IDEs: Android Studio: 3.5 AI-191.8026.42.35.5791312 Xcode: 11.2/11B44 - /usr/bin/xcodebuild npmPackages: react: 16.9.0 => 16.9.0 react-native: 0.61.2 => 0.61.2 npmGlobalPackages: create-react-native-app: 2.0.2 react-native-cli: 2.0.1 react-native-macos-cli: 2.0.1

Steps To Reproduce

  1. Create a blank react-native project (without Expo) and install pods
  2. Open Xcode workspace with Xcode 11.2+ (Beta)
  3. First run on iOS to test if it builds
  4. Then, select the iPad and Mac checkbox in Deployment Info (Project Settings)

image

  1. Run the project for release and “My Mac” image

Expected Behaviour

Building without errors and run the MacOS app.

Actual Behaviour

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RCTSRWebSocket", referenced from: l_OBJC_$_CATEGORY_RCTSRWebSocket_$_React in libReact-Core.a(RCTWebSocketModule.o) objc-class-ref in libReact-Core.a(RCTWebSocketModule.o) objc-class-ref in libReact-Core.a(RCTReconnectingWebSocket.o) objc-class-ref in libReact-Core.a(RCTWebSocketExecutor.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

image

Approaches already tried:

https://github.com/facebook/react-native/issues/17320 https://github.com/facebook/react-native/issues/14925

Also we found out that the file React-RCTWebSocket.podspec is still on version 0.60.5: { "name": "React-RCTWebSocket", "version": "0.60.5", ... }

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (1 by maintainers)

Most upvoted comments

I am getting:

Undefined symbols for architecture x86_64:
  "___darwin_check_fd_set_overflow", referenced from:
      _RAND_poll in libcrypto.a(rand_unix.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

After upgrade to 0.63.3

Yes, same. Getting error on 0.63.3 with new fresh project

  Undefined symbol: ___darwin_check_fd_set_overflow

Anyone can please help for this

Also make sure you cd ios && pod install when you upgrade RN or any other dependency 😉