Skip to content
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

numcodecs v0.13.0 #107

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: disabled to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by source code inspection shows a discrepancy between it and the the package's stated requirements in the meta.yaml.

Packages found by source code inspection but not in the meta.yaml:

  • matplotlib
  • cython
  • py-cpuinfo
  • arm_pyart

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by - please use this URL for debugging.

@conda-forge-webservices
Copy link
Contributor

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 (recipe) and found it was in an excellent condition.

@joshmoore
Copy link
Member

  [numcodecs] setting up vlen extension
  Traceback (most recent call last):
    File "/home/conda/feedstock_root/build_artifacts/numcodecs_1720822307230/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/conda/feedstock_root/build_artifacts/numcodecs_1720822307230/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/conda/feedstock_root/build_artifacts/numcodecs_1720822307230/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "/home/conda/feedstock_root/build_artifacts/numcodecs_1720822307230/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/setuptools/build_meta.py", line 368, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "/home/conda/feedstock_root/build_artifacts/numcodecs_1720822307230/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
      exec(code, locals())
    File "<string>", line 383, in <module>
    File "<string>", line 364, in run_setup
    File "<string>", line 199, in vlen_extension
  ModuleNotFoundError: No module named 'numpy'

@dstansby
Copy link
Contributor

I guess this might be because numpy needs adding to the build requirements?

@conda-forge-webservices
Copy link
Contributor

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 (recipe/meta.yaml) and found it was in an excellent condition.

@joshmoore
Copy link
Member

Looks like adding numpy got us a bit farther:

  error: command 'cc' failed: No such file or directory

@dstansby
Copy link
Contributor

I think some of the errros (which are to do with numpy installations) can be fixed by following https://conda-forge.org/docs/maintainer/knowledge_base/#building-against-numpy

@joshmoore
Copy link
Member

Back to a cc fail.

@jakirkham
Copy link
Member

Am curious about why NumPy is needed to build. Will follow up in that PR: zarr-developers/numcodecs#515

However as that has already been done. Think we need to re-render

@conda-forge-admin , please re-render

conda-forge-webservices[bot] and others added 2 commits July 25, 2024 19:56
@jakirkham
Copy link
Member

@conda-forge-admin , please re-render

@jakirkham
Copy link
Member

@conda-forge-admin , please re-render

@jakirkham
Copy link
Member

Am curious about why NumPy is needed to build. Will follow up in that PR: zarr-developers/numcodecs#515

After discussing with Isaac in that PR, came up with an approach that should solve the same issue without the NumPy dependency in PR: zarr-developers/numcodecs#555

@rabernat
Copy link

Hi @jakirkham - thanks for helping sort this out. We did our best to move zarr-developers/numcodecs#515 forward, but it's great to have your expertise here.

@jakirkham
Copy link
Member

Unfortunately after looking at this issue. Think fixing this will entail a full rewrite of vlen. Additionally most of the codecs in there have the same problem, but that PR only fixed one. Sadly I won't have time to do this in the near term

If we are able to identify someone who can finish fixing the bug, I may be able to carve out some time to review

For now, would recommend that we...

  1. Revert that PR
  2. Reopen the issue
  3. Do a 0.13.1 release

@rabernat
Copy link

rabernat commented Aug 6, 2024

@jakirkham - before we go down the path of reverting, can you explain why adding the numpy dependency is such a bad idea?

@jakirkham
Copy link
Member

It's not about whether it is a good/bad idea

It is about the fact that this is the most notable change we made to the build requirements and the result is we don't seem to be able to build Numcodecs here any more

Reverting would at least return us to something we know use to work

That said, if someone has bandwidth to spend fixing the builds here, that would also be a welcome path forward

@jakirkham
Copy link
Member

@conda-forge-admin , please re-render

conda-forge-webservices[bot] and others added 2 commits August 8, 2024 02:35
Comment on lines +11 to +17
patches:
################################################################
# Revert NumPy build dependency #
# #
# xref: https://github.com/zarr-developers/numcodecs/pull/557 #
################################################################
- patches/PR_557.patch
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Ryan! 🙏

Have used the reversion patch PR: zarr-developers/numcodecs#557

Let's see if this helps

@jakirkham jakirkham marked this pull request as draft August 8, 2024 02:37
@jakirkham
Copy link
Member

Converting to draft for the moment while we decide on next steps

@dstansby
Copy link
Contributor

Some progress: I did some debugging over at #108, and the issue with the linux builds is not having to build with numpy. That is all working fine.

The issue is some new files that were included in numcodecs 1.21.5, which was introduced with zarr-developers/numcodecs#500. The conda-forge build on linux fails when trying to compile one of these new files.

@dstansby
Copy link
Contributor

The linux native build is failing on the command

  cc -c c-blosc/internal-complibs/zstd-1.5.5/decompress/huf_decompress_amd64.S -o c-blosc/internal-complibs/zstd-1.5.5/decompress/huf_decompress_amd64.o

In a similar passing job the start of the similar command is /home/conda/feedstock_root/build_artifacts/numcodecs_1723464425174/_build_env/bin/aarch64-conda-linux-gnu-cc, which is an explicit path to the c compiler, so I think for some reason the native linux build isn't setting the path to the compiler correctly, or it isn't being picked up.

@rabernat
Copy link

It is about the fact that this is the most notable change we made to the build requirements and the result is we don't seem to be able to build Numcodecs here any more

Ok that is helpful--I hadn't quite realized that!

@dstansby
Copy link
Contributor

For a bit more info, I think this might be a bug with either:

  • distutils using cc directly to compile the new files, instead of taking the compiler executable from the CC environment variable
  • conda-build not setting the CC environment variable correctly (but I'm pretty sure this wouldn't be the issue)

Either way the issue is this step in setup.py of numcodecs: https://github.com/zarr-developers/numcodecs/blob/8b53fc135373d526338399c2dc582673cd560f87/setup.py#L329

Unless anyone has any good ideas for other options, I'm not sure how this can be fixed without downgrading the bundled version of blosc, which is not ideal...

In the meantime I'll ask in the conda-forge gitter to see if anyone can help.

@dstansby
Copy link
Contributor

Thanks to a kind soul in the conda-forge chat, I've got a fix for this that I've patched in #108 and PR'd in zarr-developers/numcodecs#562. So I think this can be closed in favour of #108 now.

@jakirkham jakirkham mentioned this pull request Aug 19, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants