facebook / fbt

A JavaScript Internationalization Framework
https://facebook.github.io/fbt
MIT License
3.88k stars 178 forks source link

Unable to install react-native-fbt in expo SDK 45 bare workflow #33797 #360

Open DevYuns opened 2 years ago

DevYuns commented 2 years ago

New Version

0.68.1

Old Version

0.64

Build Target(s)

ios simulator

Output of react-native info

System:
    OS: macOS 12.3.1
    CPU: (8) arm64 Apple M1
    Memory: 102.34 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
    Yarn: 1.22.17 - ~/.nvm/versions/node/v16.13.1/bin/yarn
    npm: 8.1.2 - ~/.nvm/versions/node/v16.13.1/bin/npm
    Watchman: 2021.06.07.00 - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.11.2 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.2 AI-202.7660.26.42.7486908
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.15 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2 
    react-native: 0.68.1 => 0.68.1 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Issue and Reproduction Steps

  1. Init expo project with bare workflow.
Screen Shot 2022-05-10 at 5 00 56 PM
  1. Run iOS which will be successful
Screen Shot 2022-05-10 at 5 14 08 PM
  1. Install fbt and react-native-fbt as written in docs. Do npx pod-install.

Then the build failed with below error.

Screen Shot 2022-05-10 at 5 16 13 PM

Currently in react-native-fbt@0.0.7.

DevYuns commented 2 years ago

More logs below.

Cycle in dependencies between targets 'RNCMaskedView' and 'React-Codegen'; building could produce unreliable results.
Cycle path: RNCMaskedView → React → React-RCTAnimation → React-Codegen → RNCMaskedView
Cycle details:
→ Target 'RNCMaskedView': Libtool /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Products/Debug-iphonesimulator/RNCMaskedView/libRNCMaskedView.a normal
→ Target 'React' has target dependency on Target 'React-RCTAnimation'
→ Target 'React-RCTAnimation' has target dependency on Target 'React-Codegen'
→ Target 'React-Codegen' has compile command with input '/Users/dean/Documents/workspace/dooboolab/dooboo-native-ts/ios/build/generated/ios/react/renderer/components/ReactNativeFbtSpec/EventEmitters.cpp'
○ That command depends on command in Target 'react-native-fbt': script phase “[CP-User] Generate Specs”

Raw dependency cycle trace:

target:  ->

node: <all> ->

command: <all> ->

node: /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Products/Debug-iphonesimulator/RNCMaskedView/libRNCMaskedView.a ->

command: target-RNCMaskedView-8699adb1dd336b26511df848a716bd429de0becebc205f4487ef585c1dcf3cba-:Debug:Libtool /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Products/Debug-iphonesimulator/RNCMaskedView/libRNCMaskedView.a normal ->

node: /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNCMaskedView.build/Objects-normal/x86_64/RNCMaskedView.LinkFileList ->

command: target-RNCMaskedView-8699adb1dd336b26511df848a716bd429de0becebc205f4487ef585c1dcf3cba-:Debug:WriteAuxiliaryFile /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNCMaskedView.build/Objects-normal/x86_64/RNCMaskedView.LinkFileList ->

node: <target-RNCMaskedView-8699adb1dd336b26511df848a716bd429de0becebc205f4487ef585c1dcf3cba--entry> ->

command: Gate target-RNCMaskedView-8699adb1dd336b26511df848a716bd429de0becebc205f4487ef585c1dcf3cba--entry ->

CYCLE POINT ->

node: <target-React-8699adb1dd336b26511df848a716bd42091e10ab92ef02a5d90ffb84b380567b--end> ->

command: Gate target-React-8699adb1dd336b26511df848a716bd42091e10ab92ef02a5d90ffb84b380567b--end ->

node: <target-React-8699adb1dd336b26511df848a716bd42091e10ab92ef02a5d90ffb84b380567b--entry> ->

command: Gate target-React-8699adb1dd336b26511df848a716bd42091e10ab92ef02a5d90ffb84b380567b--entry ->

node: <target-React-RCTAnimation-8699adb1dd336b26511df848a716bd42fa7387fd1c471430f783250399affb7d--end> ->

command: Gate target-React-RCTAnimation-8699adb1dd336b26511df848a716bd42fa7387fd1c471430f783250399affb7d--end ->

node: /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-RCTAnimation.build/Objects-normal/x86_64/React-RCTAnimation.LinkFileList ->

command: target-React-RCTAnimation-8699adb1dd336b26511df848a716bd42fa7387fd1c471430f783250399affb7d-:Debug:WriteAuxiliaryFile /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-RCTAnimation.build/Objects-normal/x86_64/React-RCTAnimation.LinkFileList ->

node: <target-React-RCTAnimation-8699adb1dd336b26511df848a716bd42fa7387fd1c471430f783250399affb7d--entry> ->

command: Gate target-React-RCTAnimation-8699adb1dd336b26511df848a716bd42fa7387fd1c471430f783250399affb7d--entry ->

node: <target-React-Codegen-8699adb1dd336b26511df848a716bd423e463c0b90ea125684ba7eb9113494aa--end> ->

command: Gate target-React-Codegen-8699adb1dd336b26511df848a716bd423e463c0b90ea125684ba7eb9113494aa--end ->

node: /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Objects-normal/x86_64/EventEmitters-3826811518c4cb13b9a4b67a341d7bb9.o ->

command: target-React-Codegen-8699adb1dd336b26511df848a716bd423e463c0b90ea125684ba7eb9113494aa-:Debug:CompileC /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Objects-normal/x86_64/EventEmitters-3826811518c4cb13b9a4b67a341d7bb9.o /Users/dean/Documents/workspace/dooboolab/dooboo-native-ts/ios/build/generated/ios/react/renderer/components/ReactNativeFbtSpec/EventEmitters.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler ->

node: /Users/dean/Documents/workspace/dooboolab/dooboo-native-ts/ios/build/generated/ios/react/renderer/components/ReactNativeFbtSpec/EventEmitters.cpp ->

command: target-react-native-fbt-8699adb1dd336b26511df848a716bd425302c160cb888c82ac84a0e386ee4bac-:Debug:PhaseScriptExecution [CP-User] Generate Specs /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-fbt.build/Script-46EB2E000100D0.sh ->

node: /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-fbt.build/Script-46EB2E000100D0.sh ->

command: target-react-native-fbt-8699adb1dd336b26511df848a716bd425302c160cb888c82ac84a0e386ee4bac-:Debug:WriteAuxiliaryFile /Users/dean/Library/Developer/Xcode/DerivedData/dooboo-fkcexugpfsphsbgzkwyvsyqbrtcl/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-fbt.build/Script-46EB2E000100D0.sh ->

node: <target-react-native-fbt-8699adb1dd336b26511df848a716bd425302c160cb888c82ac84a0e386ee4bac--entry> ->

command: Gate target-react-native-fbt-8699adb1dd336b26511df848a716bd425302c160cb888c82ac84a0e386ee4bac--entry ->

node: <target-React-8699adb1dd336b26511df848a716bd42091e10ab92ef02a5d90ffb84b380567b--end>
DevYuns commented 2 years ago
Screen Shot 2022-05-11 at 12 35 52 PM

Still suffering from this in new architecture. I am not sure why react-native-fbt files are generated many times in ReactCodgen and I think this is why the error occurs.

hyochan commented 2 years ago

@kayhadrin @jrwats May we get any clue on this? We can't apply react-native 0.68, the new architecture because of this issue.

hyochan commented 2 years ago

This is not restricted to expo SDK 45. Below projects also occurs the same error.

npx react-native init Puzz --template react-native-template-typescript
yarn add babel-plugin-fbt babel-plugin-fbt-runtime fbt react-native-fbt '@fbtjs/default-collection-transform'
yarn add babel-preset-react-native shelljs fb-tiger-hash --dev
npx pod-install
yarn start
yarn ios
kayhadrin commented 2 years ago

Thanks for reporting this issue @hyochan. I'm looking for help from other devs internally since I'm not involved with the react-native-fbt package.

hyochan commented 2 years ago

@kayhadrin Thanks so much for the response. Desperately waiting for this. I am not capable with new architecture yet.

hyochan commented 2 years ago

People who might face the same issue can try install package from https://github.com/hyochan/react-native-fbt as a workaround.