-
-
Notifications
You must be signed in to change notification settings - Fork 82
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
Adding tensorflow-io-gcs-filesystem to the build recipe #206
base: main
Are you sure you want to change the base?
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:
|
recipe/meta.yaml
Outdated
- 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 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
recipe/meta.yaml
Outdated
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
folder: tensorflow-io-gcs-filesystem | |
folder: tensorflow-io |
recipe/build_io_gcs_fs.sh
Outdated
|
||
set -exuo pipefail | ||
|
||
pushd tensorflow-io-gcs-filesystem |
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.
pushd tensorflow-io-gcs-filesystem | |
pushd tensorflow-io |
|
||
./configure.sh | ||
|
||
bazel build //tensorflow_io_gcs_filesystem/... |
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.
bazel build //tensorflow_io_gcs_filesystem/... | |
bazel build //tensorflow_io/... |
@@ -219,6 +218,7 @@ outputs: | |||
- 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- {{ 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. |
5ad1b72
to
bbd7cdf
Compare
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 rerender
in a comment in this PR for automated rerendering)