-
-
Notifications
You must be signed in to change notification settings - Fork 25
Backport 1.46 build config for 1.45.2 release #189
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
Conversation
…nda-forge-pinning 2022.05.04.18.03.34
automerged PR by conda-forge/automerge-action
…nda-forge-pinning 2022.05.20.15.08.39
…nda-forge-pinning 2022.05.20.15.08.39
…hfefaa0 [bot-automerge] grpc-cpp v1.46.3
Co-authored-by: David Li <[email protected]>
…nda-forge-pinning 2022.06.25.09.06.17
…-re220220601-0-1_h666572 Rebuild for re220220601
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
|
@conda-forge-admin, please rerender |
|
edit: I have resolved this issue via a direct merge of the 1.46.x build configuration. @mariusvniekerk This build failure appears to be because the This appears to be due to the refactor of the package to use Did you see anything of this type when building the 1.46.x series? |
|
Appears to be conda/conda-build#3310 repro-ing, but not sure why. |
|
@conda-forge-admin, please rerender |
|
Hi! This is the friendly automated conda-forge-linting service. I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug. |
…to 1.45.x No-op merge, taking 1.46.x build config
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
|
@xhochy, this is intended to support your tensorflow builds. Given your experiences would you mind giving this a review? |
|
I think xhochy got busy, and tensorflow just moved to newer abseil with 2.9.1 do you think we still need this? |
|
This would be valuable to unblock consistent grpc solves on |
Co-authored-by: h-vetinari <[email protected]>
|
The diff looks pretty drastic for an older version, but then:
I don't consider myself very well-versed in this recipe though, so I'll defer to @mariusvniekerk |
|
For context: diff --git a/recipe/build-cpp.sh b/recipe/build-cpp.sh
index 7879779..794d6e7 100755
--- a/recipe/build-cpp.sh
+++ b/recipe/build-cpp.sh
@@ -2,7 +2,15 @@
set -ex
-export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_CXX_STANDARD=17"
+echo CONFIG
+
+# Unconditionally set target platform for older abseil version,
+# when updating abseil relax CXX_STANDARD pin
+if [[ "${target_platform}" == osx-* ]]; then
+ export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_CXX_STANDARD=14"
+else
+ export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_CXX_STANDARD=17"
+fi
if [[ "$CONDA_BUILD_CROSS_COMPILATION" == 1 ]]; then
(
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 020e3a7..392c1b5 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,5 +1,5 @@
{% set name = "grpc-split" %}
-{% set version = "1.46.3" %}
+{% set version = "1.45.2" %}
package:
name: {{ name | lower }}
@@ -7,7 +7,7 @@ package:
source:
url: https://github.com/grpc/grpc/archive/v{{ version }}.tar.gz
- sha256: d6cbf22cb5007af71b61c6be316a79397469c58c82a942552a62e708bce60964
+ sha256: e18b16f7976aab9a36c14c38180f042bb0fd196b75c9fd6a20a2b5f934876ad6
patches:
- force-protoc-executable.patch
- patches-grpcio/0001-Monkey-patch-distutils.ccompiler.spawn-to-elide-std-.patch
@@ -17,7 +17,7 @@ source:
- patches-grpcio/0001-fix-win-setup.patch # [win]
build:
- number: 2
+ number: 5
outputs:
- name: grpc-cpp
@@ -35,13 +35,15 @@ outputs:
- libprotobuf
- ninja
# We need all host deps also in build for cross-compiling
- - abseil-cpp 20211102.0 # [build_platform != target_platform]
+ - abseil-cpp 20210324.2 # [build_platform != target_platform]
- c-ares # [build_platform != target_platform]
- re2 # [build_platform != target_platform]
- openssl # [build_platform != target_platform]
- zlib # [build_platform != target_platform]
host:
- - abseil-cpp 20211102.0
+ # Note, pinned to older abseil version.
+ # Update to build.sh required if moving to updated abseil.
+ - abseil-cpp 20210324.2
- c-ares
- libprotobuf
- re2
@@ -59,7 +61,7 @@ outputs:
- python # [build_platform != target_platform]
- cross-python_{{ target_platform }} # [build_platform != target_platform]
- cython # [build_platform != target_platform]
- - abseil-cpp 20211102.0 # [build_platform != target_platform]
+ - abseil-cpp 20210324.2 # [build_platform != target_platform]
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
@@ -68,7 +70,7 @@ outputs:
- setuptools
- cython
- six >=1.6.0
- - abseil-cpp 20211102.0
+ - abseil-cpp 20210324.2
- {{ pin_subpackage('grpc-cpp', exact=True) }}
- c-ares
- libprotobuf |
h-vetinari
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Taking a look at this again now that I'm becoming more familiar with the feedstock again.
It's mergeable in principle, and if you rebase this PR, I'd be happy to review.
| # Unconditionally set target platform for older abseil version, | ||
| # when updating abseil relax CXX_STANDARD pin | ||
| if [[ "${target_platform}" == osx-* ]]; then | ||
| export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_CXX_STANDARD=14" | ||
| else | ||
| export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_CXX_STANDARD=17" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That comment makes little sense to me (why "target platform", when the variable being set is CMAKE_CXX_STANDARD?). It's also dodgy to use a different C++ standard compared to what was used to compile abseil. Older abseil builds didn't encode that information, though for >=20211102 you can use the right version for the abseil you're using. However, this currently leads into other issues due to the way grpc declares its dependence on abseil (see #213), so I'm fine to let this pass if it works for you.
|
@asford |
|
Closing as stale |
Checklist
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)grpcio1.45 was yanked from pypi, for unclear reasons, however a 1.45.1 or 1.45.2 release was never cut to pypi.The upstream will not release a 1.45.2, in preference of the 1.46 release series.
grpc/grpc#28906
However, the tensorflow 2.8.1 package on conda forge pins to
grpcio=1.45.*andabseil-cpp==20210324.2.conda-forge/tensorflow-feedstock#243
Current solves in conda-forge still solve to
grpcio=1.45.0andgrpc-cpp=1.45.2, which is potentially dangerous.conda-forge/grpcio-feedstock#67
This PR backports the 1.46.x series updates made by @mariusvniekerk in #166 in order to cut a matching 1.45.2 release of
grpc-cppandgrpciofor use with tensorflow. This is a "single abseil" release, pinned to 20210324.2