boostorg / boost

Super-project for modularized Boost
https://github.com/boostorg/wiki/wiki/Getting-Started%3A-Overview
Boost Software License 1.0
7.15k stars 1.76k forks source link

Error installing boost Verification checksum was incorrect #843

Open wswebcreation opened 10 months ago

wswebcreation commented 10 months ago

I'm developing a Mobile app with React Native (0.73.1) and for building the app I need to install the pods. The pods contains installing boos, see this file.

I get the following error

Installing boost (1.83.0)

[!] Error installing boost
Verification checksum was incorrect, expected 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e, got 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff

When I check this site I see the checksum should be 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e

When I do this on my Mac

curl -sL https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2 | shasum -a 256

5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff  -

I get a different checksum

Please let me know what I need to provide more to debug this

NaN72-me commented 10 months ago

spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Instead of using sourceforge, using https://archives.boost.io/release works for me

danielgospodinow commented 10 months ago

spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Instead of using sourceforge, using https://archives.boost.io/release works for me

+1, this worked for me too.

netanelz-amdocs commented 10 months ago

It started to happen again today....

ferasabufares commented 10 months ago

It started to happen again today....

did you solve it ?

devshaaran commented 10 months ago

Facing the same issue now, changing to https://archives.boost.io/release worked

netanelz-amdocs commented 10 months ago

It redirects to a unsecured url... http://brorigin1.cpp.al/release/

Not sure it's really secured to do it.

Facing the same issue now, changing to https://archives.boost.io/release worked

sdarwin commented 10 months ago

https://archives.boost.io/release is an AWS Cloudfront distribution with backend servers hosting the files.

I have switched the origin to use an ALB (application load balancer) and TLS.

@netanelz-amdocs interesting comment. brorigin1 is an origin for the CDN. Usually there is a difference between a 'redirect' and an 'origin' though. The CDN should not be redirecting (such as HTTP response status code 302). Rather, it proxies the request on behalf of the client, and the client sees the main URL https://archives.boost.io . How did you observe redirects occurring?

netanelz-amdocs commented 10 months ago

I just put 'https://archives.boost.io/release' in the browser to ensure all the releases are there and see it's going to http://brorigin1.cpp.al/release/ which is an unsecure site. Are you saying it's ok to use it?

https://archives.boost.io/release is an AWS Cloudfront distribution with backend servers hosting the files.

I have switched the origin to use an ALB (application load balancer) and TLS.

@netanelz-amdocs interesting comment. brorigin1 is an origin for the CDN. Usually there is a difference between a 'redirect' and an 'origin' though. The CDN should not be redirecting (such as HTTP response status code 302). Rather, it proxies the request on behalf of the client, and the client sees the main URL https://archives.boost.io . How did you observe redirects occurring?

sdarwin commented 10 months ago

@netanelz-amdocs great catch! Nginx usually provides directory listings when there is a trailing slash "/". In this case "/release" was missing a slash, so nginx redirects the client to "/release/" . When the redirect happens it sends the full url that it thinks is being used: brorigin1.

I added a config parameter:

absolute_redirect off;

that should fix the problem. Clear local browser cache ...

blackliner commented 10 months ago

@sdarwin Thanks. I confirm that the checksum is same.

$ curl -sL https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2 | shasum -a 256
f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41  -

Thanks, how temporary is this? Can we rely on this for the coming future, or do you have a TTL on this?

alexma01 commented 10 months ago

spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Instead of using sourceforge, using https://archives.boost.io/release works for me

Thanks! Also for me!

bachngocnhat commented 10 months ago

spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Instead of using sourceforge, using https://archives.boost.io/release works for me

https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2 Thanks! Also for me!

petervn commented 10 months ago

diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec index 3d9331c..b1e2c6a 100644 --- a/node_modules/react-native/third-party-podspecs/boost.podspec +++ b/node_modules/react-native/third-party-podspecs/boost.podspec @@ -10,7 +10,7 @@ Pod::Spec.new do |spec| spec.homepage = 'http://www.boost.org' spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.' spec.authors = 'Rene Rivera'

ts-ign0re commented 10 months ago

Guys!

DO NOT REPLACE HASHSUM

Replace this url https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2

with https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2

olegderecha commented 10 months ago

Tried some minutes ago: In node_modules/react-native/third-party-podspecs/boost.podspec file:

  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2',
                  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

Podfile.lock was changed to:

-  boost: 57d2868c099736d80fcd648bf211b4431e51a558
+  boost: 64032b9e9b938fda23325e68a3771f0fabf414dc

Patch file: e.g. patches/react-native+0.72.5.patch (depends on installed version)

diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec
index 3d9331c..b1e2c6a 100644
--- a/node_modules/react-native/third-party-podspecs/boost.podspec
+++ b/node_modules/react-native/third-party-podspecs/boost.podspec
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
   spec.homepage = 'http://www.boost.org'
   spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
   spec.authors = 'Rene Rivera'
-  spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2',
+  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2',
                   :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

   # Pinning to the same version as React.podspec.
sindhusingh commented 10 months ago

Guys!

DO NOT REPLACE HASHSUM

Replace this url https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2

with https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2

Great! The temporary solution, as highlighted by others earlier, is indeed effective. Nevertheless, the challenge remains in having to apply this solution with every fresh package installation.

It seems that the patch method mentioned at https://github.com/facebook/react-native/issues/42180 is currently the most viable solution.

Ohmniox commented 10 months ago

spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

Instead of using sourceforge, using https://archives.boost.io/release works for me

Replacing it to https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2 works Thanks a lot!!!

matteolucinip commented 10 months ago

After patching node_modules/react-native/third-party-podspecs/boost.podspec (with yarn patch) I still get an error because of mismatching checksums.

STDOUT Verification checksum was incorrect, expected f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41, got 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff

I'm on react-native@0.71.14 so I've replaced https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 with https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2

Edit: My problems were due to a bug in yarn which wouldn't apply the patch correctly after installing because we are using resolutions. In case anyone else has this problem, I was able to fix it by editing the resolutions generated by yarn following this comment: https://github.com/yarnpkg/berry/issues/4231#issuecomment-1470124509

ArindamRayMukherjee commented 10 months ago

Ok, created a simple patch for this for RN 0.73.1, but everyone could do this

  1. Install patch-package:
    npm install --save-dev patch-package postinstall-postinstall
  2. Modify boost.podspec:

change

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.83.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
                  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

  # Pinning to the same version as React.podspec.
  spec.platforms = min_supported_versions
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end

to

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.83.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  # Patched due to issue https://github.com/boostorg/boost/issues/843
  spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2',
                  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }

  # Pinning to the same version as React.podspec.
  spec.platforms = min_supported_versions
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end
  1. Create a Patch:

    • Run npx patch-package react-native to create a patch file based on your changes. This command generates a patch file in a directory called patches/.
  2. Apply the Patch Automatically:

    • Modify your package.json to apply the patch after installation. Add the following to your scripts section:
      "scripts": {
      "postinstall": "patch-package"
      }
    • Now, whenever you run npm install, patch-package will automatically apply the patch to the boost.podspec file.

Ignorant question perhaps, but how and why does this also work for the Android side of a RN app? (If it does)

cortinico commented 10 months ago

Hey all, Nicola here from the React Native team. Here is the official recommendation on how to overcome this failure:

OmkarK45 commented 10 months ago

I am facing this error when trying to install patch 0.72, can someone help?

Error

NoMethodError - undefined method `=~' for []:Array
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block (2 levels) in merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `all?'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block in merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each_with_object'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:1057:in `block in <class:PodTargetSettings>'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:120:in `block in define_build_settings_method'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:177:in `block in remove_pod_target_xcconfig_overrides_from_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `each'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `remove_pod_target_xcconfig_overrides_from_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:157:in `block in add_target'
<internal:kernel>:90:in `tap'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:156:in `add_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:47:in `block in install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:40:in `install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:115:in `block in install_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `map'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `install_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:32:in `block in install_all_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:31:in `install_all_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:19:in `generate!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:314:in `block in create_and_save_projects'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:309:in `create_and_save_projects'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:301:in `generate_pods_project'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:180:in `integrate'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:167:in `install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
/Users/vagrant/.asdf/installs/ruby/3.2/bin/pod:25:in `load'
/Users/vagrant/.asdf/installs/ruby/3.2/bin/pod:25:in `<main>'

CocoaPods : 1.11.3

cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0
slather               : 2.7.4
olegderecha commented 10 months ago

I am facing this error when trying to install patch 0.72, can someone help?

Error

NoMethodError - undefined method `=~' for []:Array
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block (2 levels) in merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `all?'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block in merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each_with_object'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:1057:in `block in <class:PodTargetSettings>'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:120:in `block in define_build_settings_method'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:177:in `block in remove_pod_target_xcconfig_overrides_from_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `each'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `remove_pod_target_xcconfig_overrides_from_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:157:in `block in add_target'
<internal:kernel>:90:in `tap'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:156:in `add_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:47:in `block in install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:40:in `install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:115:in `block in install_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `map'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `install_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:32:in `block in install_all_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:31:in `install_all_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:19:in `generate!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:314:in `block in create_and_save_projects'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:309:in `create_and_save_projects'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:301:in `generate_pods_project'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:180:in `integrate'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:167:in `install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
/Users/vagrant/.asdf/installs/ruby/3.2/bin/pod:25:in `load'
/Users/vagrant/.asdf/installs/ruby/3.2/bin/pod:25:in `<main>'

CocoaPods : 1.11.3

cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0
slather               : 2.7.4

@OmkarK45 , what is your react-native version and what boost version is defined in node_modules/react-native/third-party-podspecs/boost.podspec?

OmkarK45 commented 10 months ago

I am facing this error when trying to install patch 0.72, can someone help?

Error

NoMethodError - undefined method `=~' for []:Array
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block (2 levels) in merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `all?'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:446:in `block in merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `each_with_object'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:444:in `merged_xcconfigs'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:1057:in `block in <class:PodTargetSettings>'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/target/build_settings.rb:120:in `block in define_build_settings_method'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:177:in `block in remove_pod_target_xcconfig_overrides_from_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `each'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:174:in `remove_pod_target_xcconfig_overrides_from_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:157:in `block in add_target'
<internal:kernel>:90:in `tap'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:156:in `add_target'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:47:in `block in install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb:40:in `install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:115:in `block in install_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `map'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/pods_project_generator.rb:112:in `install_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:32:in `block in install_all_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:149:in `message'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:31:in `install_all_pod_targets'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:19:in `generate!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:314:in `block in create_and_save_projects'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:309:in `create_and_save_projects'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:301:in `generate_pods_project'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:180:in `integrate'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:167:in `install!'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
/Users/vagrant/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
/Users/vagrant/.asdf/installs/ruby/3.2/bin/pod:25:in `load'
/Users/vagrant/.asdf/installs/ruby/3.2/bin/pod:25:in `<main>'

CocoaPods : 1.11.3

cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0
slather               : 2.7.4

@OmkarK45 , what is your react-native version and what boost version is defined in node_modules/react-native/third-party-podspecs/boost.podspec?

React Native Version : 0.72.7

spec.version = '1.76.0' @olegderecha

olegderecha commented 10 months ago

@OmkarK45 ,

React Native Version : 0.72.7 spec.version = '1.76.0'

I suppose, you need:

Or, if you need to run it just locally, you can open node_modules/react-native/third-party-podspecs/boost.podspec and place there:

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

Pod::Spec.new do |spec|
  spec.name = 'boost'
  spec.version = '1.76.0'
  spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
  spec.homepage = 'http://www.boost.org'
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
  spec.authors = 'Rene Rivera'
  spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2',
                  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

  # Pinning to the same version as React.podspec.
  spec.platforms = { :ios => '11.0' }
  spec.requires_arc = false

  spec.module_name = 'boost'
  spec.header_dir = 'boost'
  spec.preserve_path = 'boost'
end
OmkarK45 commented 10 months ago

@olegderecha Thanks for the details solution. Here's the patch file that I've right now

diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec
index 3d9331c..bbbb738 100644
--- a/node_modules/react-native/third-party-podspecs/boost.podspec
+++ b/node_modules/react-native/third-party-podspecs/boost.podspec
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
   spec.homepage = 'http://www.boost.org'
   spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
   spec.authors = 'Rene Rivera'
-  spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2',
+  spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2',
                   :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }

   # Pinning to the same version as React.podspec.

the only difference between the one you provided and the one I have is this line index 3d9331c..bbbb738 100644

I can see boost being in installed in CI

image

but the error appears after this

olegderecha commented 10 months ago

@OmkarK45 , if you update this file node_modules/react-native/third-party-podspecs/boost.podspec and the issue still occurs, the issues is not with a patch. Try:

AndrySantos01 commented 10 months ago

If anyone hasn't been able to solve it yet, I suggest this link from a member of the react native team, I managed to solve my problem but it's a temporary solution, I'm on version 0.68.

link -> https://github.com/facebook/react-native/issues/42180

OmkarK45 commented 10 months ago

@OmkarK45 , if you update this file node_modules/react-native/third-party-podspecs/boost.podspec and the issue still occurs, the issues is not with a patch. Try:

  • rename Pods dir
  • try to install new Pods
  • try to remove Podfile.lock and pod install again.

You were right, the issue was with cocoapods version, I installed 1.13 and the error went away

keShraa commented 10 months ago

If you don't want to introduce a patch with patch-package, you can simply upgrade your RN version: [Workaround Available] Error installing boost Verification checksum was incorrect. #42180

It has been fixed for React Native (0.70), 0.71, 0.72 and 0.73.

wrldh commented 10 months ago

Unfortunately it wasn't fixed for 0.71

keShraa commented 10 months ago

Unfortunately it wasn't fixed for 0.71

Hope this can help you:

They've released the fix for RN version 0.72 (0.72.9) ~40 mins ago at the time of writing this. I can only assume the fixes for 0.73, 0.71 will follow shortly

SHINGPH commented 10 months ago

Hi i have fixed the issue of react native versionsum on boost now i have another problem on android which is

1: Task failed with an exception.

/node_modules/react-native/ReactCommon/cxxreact/CxxModule.h:15:10: fatal error: 'folly/dynamic.h' file not found

include <folly/dynamic.h>

       ^~~~~~~~~~~~~~~~~

1 error generated.

mclow commented 10 months ago

Folly is not part of Boost; it comes from Facebook. See https://github.com/facebook/folly

riseworld27 commented 10 months ago

jfrog started working again. We can download boost file from jfrog without error now.

arnoldc commented 10 months ago

how it was fixed? do we have official comment from the team? im wondering if this issue would happen again

userdocs commented 10 months ago

how it was fixed? do we have official comment from the team? I'm wondering if this issue would happen again

At this point you wonder if the maintainers only knew it was working again from comments in issue. They have really done an absurdly impressive job of ignoring this issue and all requests for guidance or clarification on how to proceed. Full head in the sand mode.

I mean, how many time does a dev with a significant project have to professionally and politely ask this question, almost daily, without being ignored? https://github.com/boostorg/boost/issues/845#issuecomment-1880596544

This will happen again as it's been an ongoing problem for this project for too long while they insist of using these vanity projects to host the source code people need.

Your only option at this point is to factor in your own redundancy because the most realisable takeaway from this repeat issue is that

Another defining moment in opensource software development of how to not do something.