Adding tensorflow-io-gcs-filesystem to the build recipe#206
Adding tensorflow-io-gcs-filesystem to the build recipe#206ganand1 wants to merge 15 commits intoconda-forge:mainfrom
Conversation
…nda-forge-pinning 2022.02.06.08.21.47
…nda-forge-pinning 2022.02.06.08.21.47
|
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 ( I do have some suggestions for making it better though... For recipe:
|
| - name: tensorflow-io-gcs-filesystem | ||
| script: build_io_gcs_fs.sh # [not win] | ||
| build: | ||
| string: cuda{{ cuda_compiler_version | replace('.', '') }}py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] | ||
| string: cpu_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"] | ||
| requirements: | ||
| build: | ||
| - {{ compiler('c') }} | ||
| - {{ compiler('cxx') }} | ||
| - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] | ||
| - bazel | ||
| - bazel >=4.2.1 # [osx and arm64] | ||
| host: | ||
| - python | ||
| - pip | ||
| - setuptools | ||
| - wheel | ||
| - openssl | ||
| - {{ pin_subpackage('tensorflow-base', exact=True) }} | ||
| run: | ||
| - python | ||
| - {{ pin_subpackage('tensorflow-base', exact=True) }} | ||
| test: | ||
| requires: | ||
| - pip | ||
| commands: | ||
| - pip check | ||
|
|
There was a problem hiding this comment.
| - name: tensorflow-io-gcs-filesystem | |
| script: build_io_gcs_fs.sh # [not win] | |
| build: | |
| string: cuda{{ cuda_compiler_version | replace('.', '') }}py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] | |
| string: cpu_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"] | |
| requirements: | |
| build: | |
| - {{ compiler('c') }} | |
| - {{ compiler('cxx') }} | |
| - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] | |
| - bazel | |
| - bazel >=4.2.1 # [osx and arm64] | |
| host: | |
| - python | |
| - pip | |
| - setuptools | |
| - wheel | |
| - openssl | |
| - {{ pin_subpackage('tensorflow-base', exact=True) }} | |
| run: | |
| - python | |
| - {{ pin_subpackage('tensorflow-base', exact=True) }} | |
| test: | |
| requires: | |
| - pip | |
| commands: | |
| - pip check | |
| - name: tensorflow-io | |
| script: build_io_gcs_fs.sh # [not win] | |
| build: | |
| string: cuda{{ cuda_compiler_version | replace('.', '') }}py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] | |
| string: cpu_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"] | |
| requirements: | |
| build: | |
| - {{ compiler('c') }} | |
| - {{ compiler('cxx') }} | |
| - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] | |
| - bazel | |
| - bazel >=4.2.1 # [osx and arm64] | |
| host: | |
| - python | |
| - pip | |
| - setuptools | |
| - wheel | |
| - openssl | |
| - {{ pin_subpackage('tensorflow', exact=True) }} | |
| run: | |
| - python | |
| - {{ pin_subpackage('tensorflow', exact=True) }} | |
| test: | |
| requires: | |
| - pip | |
| commands: | |
| - pip check | |
Hi @ganand1, looks you're very close. Could you try building tensorflow-io instead of just the gcs-filesystem? tensorflow-io includes tensorflow-io-gcs-filesystem. Also, I would pin against tensorflow, not the base here. This may help, I can give it a shot locally if you want me to (it will compile relatively faster). Let me know if you have any thoughts or observations so far :) thanks for picking this up! We could maybe implement it in a 2.7.1 release or a rebuild of 2.8.0 once everyone is satisfied
| folder: tensorflow-estimator | ||
| - url: https://github.com/tensorflow/io/archive/refs/tags/v{{ io_gcs_version }}.tar.gz | ||
| sha256: 7a4b57f6f438402bab4919c360e931c32f4d8d8afa23116d32a48461dddd91dc | ||
| folder: tensorflow-io-gcs-filesystem |
There was a problem hiding this comment.
| folder: tensorflow-io-gcs-filesystem | |
| folder: tensorflow-io |
|
|
||
| set -exuo pipefail | ||
|
|
||
| pushd tensorflow-io-gcs-filesystem |
There was a problem hiding this comment.
| pushd tensorflow-io-gcs-filesystem | |
| pushd tensorflow-io |
|
|
||
| ./configure.sh | ||
|
|
||
| bazel build //tensorflow_io_gcs_filesystem/... |
There was a problem hiding this comment.
| bazel build //tensorflow_io_gcs_filesystem/... | |
| bazel build //tensorflow_io/... |
| - python | ||
| - {{ pin_subpackage('tensorflow-base', exact=True) }} | ||
| - {{ pin_subpackage('tensorflow-estimator', exact=True) }} | ||
| - {{ pin_subpackage('tensorflow-io-gcs-filesystem', exact=True) }} |
There was a problem hiding this comment.
| - {{ pin_subpackage('tensorflow-io-gcs-filesystem', exact=True) }} | |
| - {{ pin_subpackage('tensorflow-io', exact=True) }} |
We can probably do io only here or we will want to output it tensorflow-io and tensorflow-io-gcs-filesystem separately
|
@ganand1 please change the title to indicate you're adding io-gcs-filesystem :) |
3f85ad0 to
dfe3553
Compare
|
@ngam - i think we could generate only tensorflow-io-gcs-filesystem. i followed this readme specifically python setup.py bdist_wheel --data bazel-bin --project tensorflow-io-gcs-filesystem |
|
Okay, but please at least have the io package depend on tensorflow-base AND estimator (or simply tensorflow). Otherwise, it will fail again. Have you seen the errors from previous runs? They were, "couldn't find tensorflow-estimator" and couldn't find "tensorflow-io-gcs-filesystem needed for tensorflow-io" |
ok changing to tensorflow. |
|
So... @xhochy knows this best than anyone around here I think. He earlier said this:
I am looking at your bash script, and I am thinking, maybe you should follow what xhochy did for estimator? Could you try that please? tensorflow-feedstock/recipe/build_estimator.sh Lines 1 to 13 in bbd7cdf In particular, I am not sure if you're altering or overriding the custom_toolchain we have here in your script (e.g. tensorflow-feedstock/recipe/build_io_gcs_fs.sh Lines 1 to 16 in bbd7cdf Or maybe the problem is something simpler that I cannot see... I am not so sure. It's surprising that it's working for python <3.10 |
you mean following tensorflow-estimator and build using build_pip_package like commands? |
yes, or more generally, trying to see how the tensorflow-estimator building was translated from upstream to here and then you could mimic it. Maybe that will help, but maybe not. That's the only thing that comes to mind... |
|
tensorflow-io doesnt have that option.. |
bbd7cdf to
0cf1f4d
Compare
I like your patch :) |
|
fingers crossed 🤞 |
i think it should be fine to remove the lint dependencies as well if this doesnt help. As i read from the build documents, lint has been added for checking lint errors. we could remove it i guess. if this doesnt work will give that a try |
Yes, sensible approach 👍 |
dbdb72a to
ac68305
Compare
ac68305 to
f15a521
Compare
have 3.10 running as well. please take a look |
|
@conda-forge-admin, please restart ci |
|
passing log for python3.10 from the previous run |
Very cool!! Was it just that patch or was there something else needed? |
|
BTW, I am happy to build the osx ones here too. Just give me a signal once you think we are good to go, and then I can find a time to build them soon. |
thank you @ngam . please go ahead .. it was the patch - old version incompatibility. I just retriggered to get python3.9 passing which was failing for. unknown reason please try OSX at your convenience. thanks for the extended help. |
|
@ganand1 still interested in this? |
Co-authored-by: ganand1
it will be good to merge it so we could have tensorflow-io-gcs-filesystem released from conda-forge. |
It requires some decent amount of work though. I built essentially lightly modified version of this, but it fails in practice. Why? Because the package of interest is actually tensorflow-io, which depends on tensorflow-io-gcs-filesystem. But when I tried to build them both together, they refused to cooperate well enough. So some work is needed. So I suggest we move this to a staged-recipes feedstock. Let me look into this in approx two weeks, and I will tag you in the PR over at conda-forge/staged-recipes. I personally want to see this added to conda-forge asap as well :) |
Checklist
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)