Skip to content
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

Redefinition of module ReactCommon when upgrading to 0.74 #284

Closed
justbaum30 opened this issue May 7, 2024 · 4 comments
Closed

Redefinition of module ReactCommon when upgrading to 0.74 #284

justbaum30 opened this issue May 7, 2024 · 4 comments

Comments

@justbaum30
Copy link

justbaum30 commented May 7, 2024

Old Version

0.73.8

New Version

0.74.1

Description

After upgrading to 0.74.1, I am no longer able to build the application on iOS. I receive build errors indicating that the ReactCommon module is redefined. Usually it's with React-RuntimeApple but I have also seen it with RCTAppDelegate.

I am able to reproduce by simply adding the same dependencies and Podfile as I have in the reproducer repository.

Steps to reproduce

  1. Install the application with npm install
  2. Install the iOS dependencies with pod install
  3. Try to run the application with npm run start

Affected Platforms

Runtime - iOS, Build - MacOS

Output of npx react-native info

System:
  OS: macOS 14.4
  CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Memory: 49.57 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.19.0
    path: ~/.nvm/versions/node/v18.19.0/bin/node
  Yarn: Not Found
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v18.19.0/bin/npm
  Watchman:
    version: 2023.11.06.00
    path: /usr/local/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.4
      - iOS 17.4
      - macOS 14.4
      - tvOS 17.4
      - visionOS 1.1
      - watchOS 10.4
  Android SDK:
    API Levels:
      - "29"
      - "30"
      - "31"
      - "33"
      - "34"
    Build Tools:
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 34.0.0
      - 35.0.0
    System Images:
      - android-30 | Google APIs Intel x86 Atom
      - android-31 | Google APIs Intel x86_64 Atom
      - android-34 | Google APIs Intel x86_64 Atom
      - android-34 | Google Play Intel x86_64 Atom
    Android NDK: Not Found
IDEs:
  Android Studio: 2023.3 AI-233.14808.21.2331.11709847
  Xcode:
    version: 15.3/15E204a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.6
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.1
    wanted: 0.74.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Stacktrace or Logs

/Users/justinbaumgartner/Development/NVA/hhp-mobile/nvaMobileGP/ios/Pods/Headers/Public/ReactCommon/ReactCommon.modulemap:1:8: error: redefinition of module 'ReactCommon'
module ReactCommon {
       ^
/Users/justinbaumgartner/Development/NVA/hhp-mobile/nvaMobileGP/ios/Pods/Headers/Public/ReactCommon/React-RuntimeApple.modulemap:1:8: note: previously defined here
module ReactCommon {
       ^
1 error generated.

....

** BUILD FAILED **


The following build commands failed:
	CompileC /Users/justinbaumgartner/Library/Developer/Xcode/DerivedData/nvaMobileGP-biigwvvmhyomegaepvdbpuhuakly/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-RCTAppDelegate.build/Objects-normal/x86_64/React-RCTAppDelegate-dummy.o /Users/justinbaumgartner/Development/NVA/hhp-mobile/nvaMobileGP/ios/Pods/Target\ Support\ Files/React-RCTAppDelegate/React-RCTAppDelegate-dummy.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'React-RCTAppDelegate' from project 'Pods')
(1 failure)
]

Reproducer

https://github.com/justbaum30/rn-74-upgrade-reproducer

Screenshots and Videos

Screenshot 2024-05-07 at 4 34 31 PM

@MarceloCajueiro
Copy link

Same thing happening here.

@anuragipankaj
Copy link

same thing with me

@cipolleschi
Copy link
Collaborator

Hi there! Sorry for the long delay, but with the React Conf coming up I hadn't time to look into this.
I'm cloning the reproducer now to see what's going on! Thanks @justbaum30 for providing it!

@cipolleschi
Copy link
Collaborator

Hi There, I had a look at this issue. It looks like you are using Firebase in the app.

When using Firebase, you have to follow the Firebase setup steps.

Once that's done, you'll find another problem in RNCheckNotificationPermission library. This import is broken, there is no rNCheckNotificationPermission file in the library. That line should be replaced by the following.

- #import "rNCheckNotificationPermission-Swift.h"
+ #import "RNCheckNotificationPermission/RNCheckNotificationPermission-Swift.h"

with these two changes, the build will fail because the GOOGLE_APP_ID setting is missing. This should help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done / Picked
Development

No branches or pull requests

4 participants