Skip to content

numpy v1.26.1#302

Closed
regro-cf-autotick-bot wants to merge 2 commits intoconda-forge:mainfrom
regro-cf-autotick-bot:1.26.1_h31f837
Closed

numpy v1.26.1#302
regro-cf-autotick-bot wants to merge 2 commits intoconda-forge:mainfrom
regro-cf-autotick-bot:1.26.1_h31f837

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: false 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:

  • pyinstaller
  • coverage
  • docutils
  • cffi
  • urllib3
  • meson-python
  • gitpython
  • beautifulsoup4
  • spin
  • meson
  • numpydoc
  • nox
  • pytest
  • cython
  • paver
  • pygobject
  • pygithub
  • typing_extensions
  • numba
  • pyproject-metadata
  • git-versioner
  • packaging
  • click
  • sphinx
  • toml

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 https://github.com/regro/cf-scripts/actions/runs/6519991273, please use this URL for debugging.

@conda-forge-webservices
Copy link

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.

@h-vetinari h-vetinari added the automerge Merge the PR when CI passes label Oct 14, 2023
@github-actions
Copy link
Contributor

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: failed

Thus the PR was not passing and not merged.

@h-vetinari h-vetinari removed the automerge Merge the PR when CI passes label Oct 14, 2023
@h-vetinari
Copy link
Member

Seems we need to do something to adapt to the BLAS changes

    from numpy.core._multiarray_umath import (
ImportError: $SP_DIR/numpy/core/_multiarray_umath.cpython-39-x86_64-linux-gnu.so: undefined symbol: cblas_cdotc_sub

@rgommers
Copy link
Contributor

That is unexpected, since the BLAS/LAPACK libraries are explicitly specified with -Dblas=blas -Dlapack=lapack and they are detected correctly in the failing builds:

Run-time dependency blas found: YES 3.9.0
Message: BLAS symbol suffix: 
Run-time dependency lapack found: YES 3.9.0

I'd expected some potential hiccups with auto-detection, but not this. I'll have a closer look today.

I bet the problem is that a -lcblas argument went missing somewhere, but I didn't experience that with either local testing of Netlib BLAS/LAPACK or the CI job for it in NumPy.

@isuruf
Copy link
Member

isuruf commented Oct 15, 2023

You probably need numpy/numpy@32ba5eb to be backported.

@h-vetinari
Copy link
Member

h-vetinari commented Oct 16, 2023

That's not it. Things got overhauled for 1.26.1 with numpy/numpy@ff3187a, which rewrote much of where numpy/numpy@32ba5eb applies to. I tried backporting it nevertheless, and after fixing conflicts (everywhere but numpy/meson.build, where the resolution isn't clear), the commit is empty.

The one thing that stands out in numpy/meson.build is that numpy used to do some probing for cblas based on the headers, where it now sets -DHAVE_CBLAS=1 unconditionally. More importantly, there used to be a separate cblas dependency which got removed in the above-mentioned commit, which looks like it would explain the missing symbols.

   blas_dep = declare_dependency(
-     dependencies: [blas, cblas],
+     dependencies: [blas],
     compile_args: _args_blas,
   )

@isuruf
Copy link
Member

isuruf commented Oct 16, 2023

@rgommers
Copy link
Contributor

Those changes all got backported to 1.26.1. Pretty sure that @h-vetinari is right here. The explicit dependency on cblas is gone, and the replacement is incomplete. That replacement was/is:

dependency('blas', modules: ['cblas'])

However the modules argument silently gets ignored here. Still puzzled why it worked in CI, but I know how to fix it.

@isuruf
Copy link
Member

isuruf commented Oct 16, 2023

Still puzzled why it worked in CI, but I know how to fix it.

You are using ubuntu's libblas.so from libblas3 package which has all symbols from libblas.so.3 and libcblas.so.3 of the netlib package. i.e. the test in CI is not testing vanilla netlib.

@rgommers
Copy link
Contributor

rgommers commented Nov 3, 2023

This should be fixed in 1.26.2 when that comes out; we can safely skip 1.26.1 probably. The patch files to fix this on top of 1.26.1 would be very large, and it's not really necessary to get that release out.

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.

4 participants