Verification checksum was incorrect
I'm using React Native which depends on Boost. When trying to run pod install I get the following message:
[!] Error installing boost
Verification checksum was incorrect, expected f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41, got 79e6d3f986444e5a80afbeccdaf2d1c1cf964baa8d766d20859d653a16c39848
I went down the rabbit hole: React Native tries to get Boost from https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 (in node_modules/react-native/third-party-podspecs/boost.podspec). This URL is broken - it leads to a JFrog's "Your 14-day trial is over" page. Its checksum is indeed 79e6d3f986444e5a80afbeccdaf2d1c1cf964baa8d766d20859d653a16c39848:
curl -sL https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 | sha1sum
7694f0b22c5217c4a12cd0fc1b4f74758b9d3fa3 -
Is it an upstream problem with JFrog? Or maybe someone forgot to pay the bills? 🙃
Hi @yard2010 the url is now:
https://archives.boost.io/ https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2
JFrog was donating bandwidth. After years, they have requested we switch to another service, to mitigate costs.
there are some previous discussion about using GitHub releases https://github.com/boostorg/boost/issues/844
@sdarwin - thank you for the fast response! I guess all good things come to an end.
Since I'm using a relatively old version of React Native (0.66.5) that I cannot upgrade, I ended up using patch-package to change the broken JFrog URL in node_modules/react-native/third-party-podspecs/boost.podspec to the one from the archive or from the releases page. The checksum is the same, so it's working nicely.
For anyone having troubles with this, this is how I fixed it:
npm i patch-package- Update the URL in
node_modules/react-native/third-party-podspecs/boost.podspec npx patch-package react-native(don't forget to commit the patch so it works for everybody else and in CI as well)- Add
"postinstall": "patch-package"underscriptsin yourpackage.json
After running npm i, running pod install will install Boost successfully.
Do note that using patch-package is a bit hacky in my opinion, and should be used as last resort.
Reference: this stackoverflow thread.
Edit: There's a more detailed guide here: https://github.com/boostorg/boost/issues/843#issuecomment-1872943124
I have the same issue in CircleCI
Is there any other address we can download the windows binaries? The exe file cannot be downloaded from https://archives.boost.io/.
For example: https://archives.boost.io/release/1.87.0/binaries/boost_1_87_0-msvc-14.3-64.exe
Is there any other address we can download the windows binaries? The exe file cannot be downloaded from https://archives.boost.io/.
For example: https://archives.boost.io/release/1.87.0/binaries/boost_1_87_0-msvc-14.3-64.exe
https://github.com/ScoopInstaller/Main/blob/master/bucket/boost.json
https://github.com/userdocs/boost/releases/
Specifically, the error for that file is:
Error 503 Response object too large Response object too large
@sdarwin - any ideas?
Is there any other address we can download the windows binaries? The exe file cannot be downloaded from https://archives.boost.io/. For example: https://archives.boost.io/release/1.87.0/binaries/boost_1_87_0-msvc-14.3-64.exe
https://github.com/ScoopInstaller/Main/blob/master/bucket/boost.json
https://github.com/userdocs/boost/releases/
thx so much~
🎉 Found a Fix for the Pesky Boost Installation Error! 🛠️
Hey fellow React Native warriors! If you're battling with the infamous Boost installation error (Error installing boost - Verification checksum was incorrect), I've got a solution that might save your day!
The issue occurs because the default Boost download URL is having a mid-life crisis 😅. Here's a quick fix that'll make your iOS builds happy again:
- Add this magical snippet to the TOP of your Podfile:
def find_and_replace_boost_url
pod_spec = "../node_modules/react-native/third-party-podspecs/boost.podspec"
puts "Debug: Starting boost URL replacement"
if File.exist?(pod_spec)
puts "Debug: Found boost.podspec"
spec_content = File.read(pod_spec)
spec_content.gsub!(
'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2',
'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2'
)
File.write(pod_spec, spec_content)
puts "Debug: Updated boost.podspec"
end
end
# Let the magic happen!
find_and_replace_boost_url
💡 What's happening here?
- The script swaps out the problematic JFrog URL with a more reliable mirror
- It runs before pod installation begins, ensuring smooth sailing ⛵
- No SHA verification modifications needed!
🔧 Pro Tips:
- Make sure to add this at the very top of your Podfile
- You might need to adjust the URL based on what's in your boost.podspec
- After adding this, run
pod installas usual
Hope this helps someone avoid the hours of head-scratching I went through! 🧩
windows binaries Error 503 Response object too large
Try now. Above a certain size the Fastly CDN won't cache/serve files unless a custom configuration is set up.
🔥 -> https://github.com/boostorg/boost/issues/996#issuecomment-2574671532
@Raja0sama thank you for this solution. Did builds before the 31st and install worked fine but today fail. Making it use the archives url worked to resolve my install issue with Boost.
🎉 Found a Fix for the Pesky Boost Installation Error! 🛠️
Hey fellow React Native warriors! If you're battling with the infamous Boost installation error (
Error installing boost - Verification checksum was incorrect), I've got a solution that might save your day!The issue occurs because the default Boost download URL is having a mid-life crisis 😅. Here's a quick fix that'll make your iOS builds happy again:
- Add this magical snippet to the TOP of your Podfile:
def find_and_replace_boost_url pod_spec = "../node_modules/react-native/third-party-podspecs/boost.podspec" puts "Debug: Starting boost URL replacement" if File.exist?(pod_spec) puts "Debug: Found boost.podspec" spec_content = File.read(pod_spec) spec_content.gsub!( 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2', 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2' ) File.write(pod_spec, spec_content) puts "Debug: Updated boost.podspec" end end
Let the magic happen!
find_and_replace_boost_url 💡 What's happening here?
- The script swaps out the problematic JFrog URL with a more reliable mirror
- It runs before pod installation begins, ensuring smooth sailing ⛵
- No SHA verification modifications needed!
🔧 Pro Tips:
- Make sure to add this at the very top of your Podfile
- You might need to adjust the URL based on what's in your boost.podspec
- After adding this, run
pod installas usualHope this helps someone avoid the hours of head-scratching I went through! 🧩
Awesome!!!