react-native: 0.62.0 iOS build fails when use_frameworks! enabled in Podfile

Description

The iOS build fails in version 0.62.0 when use_framworks! is enabled in Podfile.

React Native version:

System:
    OS: macOS 10.15.4
    CPU: (12) x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
    Memory: 480.01 MB / 32.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 13.6.0 - /var/folders/r4/pdxxhfbj3cqg_0n5th1p2t400000gn/T/yarn--1585746478847-0.9015524840092832/node
    Yarn: 1.22.4 - /var/folders/r4/pdxxhfbj3cqg_0n5th1p2t400000gn/T/yarn--1585746478847-0.9015524840092832/yarn
    npm: 6.13.7 - ~/.nvm/versions/node/v13.6.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.1 - /Users/jafar/.rbenv/shims/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 13.4, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7142.36.36.6308749
    Xcode: 11.4/11E146 - /usr/bin/xcodebuild
  Languages:
    Python: 2.7.17 - /usr/local/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.11.0 => 16.11.0
    react-native: 0.62.0 => 0.62.0
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce

  1. Make new project : npx react-native init MyTestApp
  2. Run yarn ios => it builds
  3. Add use_frameworks! in the MyTestApp target of the Podfile
  4. run yarn ios=> build fails with:
▸ Linking folly

❌  ld: library not found for -lDoubleConversion



❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

Expected Results

Build should work.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 11
  • Comments: 18 (1 by maintainers)

Most upvoted comments

@hramos I’m not sure what test_ios_unit_frameworks does exactly but it seems to be green on 0.62-stable as well. By the way it is now broken on master but probably for another reason.

@Daavidaviid Looks like completely disabling Flipper on iOS works. I just noticed this in the Podfile:

# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.

Noted 😅

Isn’t there any way to use Flipper with !use_frameworks? Is something they plan to change in the future?

We cannot use Flipper because of this limitation.

We’re not seeing this failure on master (the test_ios_unit_frameworks job is green), so it looks like it has been fixed on master since 0.62 was cut: https://app.circleci.com/pipelines/github/facebook/react-native/4318/workflows/a9b1bfe9-0664-4182-96fb-d287bb57f63f/jobs/143419

@crazyjooe Everything works as expected on 62.2 without Flipper for me. +1

Yes I confirm it works. But no Flipper then…

You think it could land in 0.62.1 ?

@alexisbronchart were you able to make some progress on this issue ? On my side, not to so much. My theory is that Flipper relies on DoubleConversion and Flipper doesn’t support use_frameworks, so now DoubleConversion doesn’t support it anymore and they made some regression, not sure.