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

CxxBridge, when used with Cocoapods, depends on an older version of "boost" that is also 4x larger than the one downloaded by ios-install-third-party.sh #16381

Closed
almostintuitive opened this issue Oct 15, 2017 · 6 comments
Labels
Resolution: Locked This issue was locked by the bot.

Comments

@almostintuitive
Copy link

almostintuitive commented Oct 15, 2017

Is this a bug report?

Yes

Have you read the Contributing Guidelines?

Yes

Environment

Scanning folders for symlinks in /Users/mark/Dev/drops-react-native/node_modules (9ms)

Environment:
OS: macOS High Sierra 10.13
Node: 8.6.0
Yarn: 1.1.0
npm: 5.3.0
Watchman: 4.9.0
Xcode: Xcode 9.0 Build version 9A235
Android Studio: 2.3 AI-162.4069837

Packages: (wanted => installed)
react: 16.0.0-beta.5 => 16.0.0-beta.5
react-native: 0.49.3 => 0.49.3

Steps to Reproduce

  1. Install react-native via Cocoapods
  2. Add CxxBridge instead of BatchedBridge to your Podfile
  3. pod install

Expected Behavior

Download the same version & bundle of the boost library that is used by ios-install-third-party.sh.

Actual Behavior

The boost dependency defined in Folly.podspec points to:
https://github.com/CocoaPods/Specs/blob/master/Specs/9/9/d/boost/1.59.0/boost.podspec.json

Which is:

  • Version 1.59.0 instead of boost
  • A way larger bundle (83 Mb instead of 16 Mb)

File specified in the boost pod spec:
https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download

File that ios-install-third-party.sh downloads:
https://github.com/react-native-community/boost-for-react-native/releases/download/v1.63.0-0/boost_1_63_0.tar.gz

@almostintuitive almostintuitive changed the title CxxBridge, when used with Cocoapods, downloads an older version of "boost" that is also 3x larger than the one downloaded by ios-install-third-party.sh CxxBridge, when used with Cocoapods, depends an older version of "boost" that is also 3x larger than the one downloaded by ios-install-third-party.sh Oct 15, 2017
@almostintuitive almostintuitive changed the title CxxBridge, when used with Cocoapods, depends an older version of "boost" that is also 3x larger than the one downloaded by ios-install-third-party.sh CxxBridge, when used with Cocoapods, depends on an older version of "boost" that is also 3x larger than the one downloaded by ios-install-third-party.sh Oct 15, 2017
@almostintuitive almostintuitive changed the title CxxBridge, when used with Cocoapods, depends on an older version of "boost" that is also 3x larger than the one downloaded by ios-install-third-party.sh CxxBridge, when used with Cocoapods, depends on an older version of "boost" that is also 4x larger than the one downloaded by ios-install-third-party.sh Oct 15, 2017
@karpov3
Copy link

karpov3 commented Oct 28, 2017

Hi @itchingpixels! I have the same problem. My project now is too large cause of boost library. Did you already resolve your issue?

@almostintuitive
Copy link
Author

@karpov3 : not just yet, but I think we're close:
#16381 (comment)
so you can download the podspec from our fork, fix the podspec file according to fishmwei 's instructions, and place it in a folder, where you can reference it I believe.

the relevant podspec file in our fork:
https://github.com/languagedrops/react-native/commit/1c3f1ab55aa8541bde2adbc4c4f25914a5731021

@stale
Copy link

stale bot commented Dec 27, 2017

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. If you think this issue should definitely remain open, please let us know why. Thank you for your contributions.

@stale stale bot added the Stale There has been a lack of activity on this issue and it may be closed soon. label Dec 27, 2017
@CFKevinRef
Copy link
Contributor

It looks like once this lands, you will be able to include third-party-podspecs/boost.podspec directly and get the appropriate boost-for-react-native build: #16756

@stale stale bot removed the Stale There has been a lack of activity on this issue and it may be closed soon. label Dec 27, 2017
facebook-github-bot pushed a commit that referenced this issue Jan 18, 2018
Summary:
Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached.

The dependency tree looks like this:

* React
  * cxxreact subspec
    * **Boost** (versioned, 1.63.0)
    * Folly
      * **Boost** (any version, will resolve to 1.63.0 from above)

Alternative implementation of PR #16756. Fixes issue #16381.

(same as #16756)
* Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management)
* Add CxxBridge instead of BatchedBridge to your Podfile
* run pod install
* run react-native run-ios

[Add boost.podspec speed up download time & reduce size of the package](#16756)

[IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution)
Closes #17476

Differential Revision: D6746095

Pulled By: hramos

fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
@almostintuitive
Copy link
Author

This has been resolved by d40db3a

vovkasm pushed a commit to vovkasm/react-native that referenced this issue Jan 24, 2018
Summary:
Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached.

The dependency tree looks like this:

* React
  * cxxreact subspec
    * **Boost** (versioned, 1.63.0)
    * Folly
      * **Boost** (any version, will resolve to 1.63.0 from above)

Alternative implementation of PR facebook#16756. Fixes issue facebook#16381.

(same as facebook#16756)
* Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management)
* Add CxxBridge instead of BatchedBridge to your Podfile
* run pod install
* run react-native run-ios

[Add boost.podspec speed up download time & reduce size of the package](facebook#16756)

[IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution)
Closes facebook#17476

Differential Revision: D6746095

Pulled By: hramos

fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
ide pushed a commit that referenced this issue Jan 31, 2018
Summary:
Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached.

The dependency tree looks like this:

* React
  * cxxreact subspec
    * **Boost** (versioned, 1.63.0)
    * Folly
      * **Boost** (any version, will resolve to 1.63.0 from above)

Alternative implementation of PR #16756. Fixes issue #16381.

(same as #16756)
* Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management)
* Add CxxBridge instead of BatchedBridge to your Podfile
* run pod install
* run react-native run-ios

[Add boost.podspec speed up download time & reduce size of the package](#16756)

[IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution)
Closes #17476

Differential Revision: D6746095

Pulled By: hramos

fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
@msand
Copy link
Contributor

msand commented Feb 8, 2018

Does this work with CocoaPods 1.4.0 ?
I managed to run gem update, which updated cocoapods, and now I can't get any React-Native projects to build anymore. 🤔

gbbg pushed a commit to SymphonyOSF/react-native that referenced this issue Feb 21, 2018
Summary:
Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached.

The dependency tree looks like this:

* React
  * cxxreact subspec
    * **Boost** (versioned, 1.63.0)
    * Folly
      * **Boost** (any version, will resolve to 1.63.0 from above)

Alternative implementation of PR facebook#16756. Fixes issue facebook#16381.

(same as facebook#16756)
* Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management)
* Add CxxBridge instead of BatchedBridge to your Podfile
* run pod install
* run react-native run-ios

[Add boost.podspec speed up download time & reduce size of the package](facebook#16756)

[IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution)
Closes facebook#17476

Differential Revision: D6746095

Pulled By: hramos

fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
@facebook facebook locked as resolved and limited conversation to collaborators Jan 19, 2019
@react-native-bot react-native-bot added the Resolution: Locked This issue was locked by the bot. label Jan 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Resolution: Locked This issue was locked by the bot.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants