You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you run pod install locally, running with a version of Xcode that is version 14.3.1 or newer, the checksum for the glog podspec will be different than when you do the same with an Xcode version older than 14.3.1.
I don't think cocoapods has a good general answer to having lockfiles shared between Xcode versions (at least not with the level of dynamic code in podspec files that react-native – necessarily – uses).
So I'm not sure if there's actually a way to fix this. And I do think that having glog install work at all on Xcode pre-14.3.1 is more important than being able to share a Podfile.lock with consistent hashes between environments running very different versions of Xcode.
But creating this issue in any case to flag the problem.
Steps to reproduce
Set up a fresh repo with react-native 0.73 or newer (with for instance Xcode 15.0).
Run pod install and commit the lockfile.
Push your code to CI or have a colleague pull your code (and say they are running Xcode 14.2 – the default on Github actions)
Run pod install on that machine
They will either get a diff in the Podfile.lock, or if running with --deployment, get an install error, since checksums do not match
pod install --deployment
shell: /bin/bash -e {0}
Framework build type is static library
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
[Codegen] generating an empty RCTThirdPartyFabricComponentsProvider
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
[Codegen] Found FBReactNativeSpec
Fetching podspec for `RCT-Folly` from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`
[Codegen] Found rncore
Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Fetching podspec for `hermes-engine` from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`
[Hermes] Using release tarball from URL: https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.73.5/react-native-artifacts-0.73.5-hermes-ios-debug.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 16.2M 100 16.2M 0 0 40.0M 0 --:--:-- --:--:-- --:--:-- 40.1M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
97 12.3M 97 11.9M 0 0 35.7M 0 --:--:-- --:--:-- --:--:-- 35.7M
100 12.3M 100 12.3M 0 0 35.8M 0 --:--:-- --:--:-- --:--:-- 35.7M
Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`
Verifying no changes
[!] There were changes to the lockfile in deployment mode:
SPEC CHECKSUMS:
glog:
New Lockfile: 035f1e36e53b355cf70f6434d161b36e7d21fecd
Old Lockfile: c5d68082e772fa1c511173d6b30a9de2c05a69a2
Hi, thanks for the issue. However, this is not a valid issue: the checksum is stable when using the same version of Xcode, which is something you should actually do when working together. In any case, this issue will go away the 1st of May when we would be able to remove that code from glog.
Old Version
0.72.10
New Version
0.73.5
Description
If you run pod install locally, running with a version of Xcode that is version 14.3.1 or newer, the checksum for the glog podspec will be different than when you do the same with an Xcode version older than 14.3.1.
The source is the following code:
https://github.com/facebook/react-native/blob/1387725aabd42e02646899a36a2f76731268191c/packages/react-native/third-party-podspecs/glog.podspec#L41-L42
These lines cause
DEFINES_MODULE
to flip between YES and NO in the generated podspec, which results in different checksums for the file.The source of the checksum diff is from this PR:
facebook/react-native#41058
I don't think cocoapods has a good general answer to having lockfiles shared between Xcode versions (at least not with the level of dynamic code in podspec files that react-native – necessarily – uses).
So I'm not sure if there's actually a way to fix this. And I do think that having glog install work at all on Xcode pre-14.3.1 is more important than being able to share a Podfile.lock with consistent hashes between environments running very different versions of Xcode.
But creating this issue in any case to flag the problem.
Steps to reproduce
--deployment
, get an install error, since checksums do not matchAffected Platforms
Build - MacOS
Output of
npx react-native info
Stacktrace or Logs
Reproducer
https://github.com/stianjensen/test-rn-73-glog-pod-install
Screenshots and Videos
No response
The text was updated successfully, but these errors were encountered: