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

Add missing numpy host dependency and constrain pybind11 < 2.12.0 for ABI Windows problem #41

Merged
merged 5 commits into from
Jul 2, 2024

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented Jul 2, 2024

Something that I overlooked when packaging Python bindings to C++ libraries that wrap eigen vector or matrices via the pybind/eigen.h header is that those bindings depends on numpy ABI (via the include sequence pybind/eigen.h --> pybind/eigen/matrix.h --> pybind/numpy.h).

We never noticed this as for a long time numpy 1 was just ABI stable, but now that numpy 2 came out, we are seeing problems (see segfaults in conda-forge/bipedal-locomotion-framework-feedstock#69 and conda-forge/bipedal-locomotion-framework-feedstock#72).

For manifpy and bipedal-locomotion-framework python users: in a nutshell if we see something strange (i.e. segfaults) in conda environments with old versions of manifpy and bipedal-locomotion-framework, a easy workaround is just to pin numpy<2. A cleaner solution would be to prepare a repodata patch (see https://github.com/conda-forge/conda-forge-repodata-patches-feedstock), but as that takes time to do it properly I would prefer to avoid it unless we actually see the need to do it.

The pybind11 constrain is instead necessary for conda-forge/pybind11-feedstock#94 (comment) .

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@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.

I do have some suggestions for making it better though...

For recipe:

@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

conda-forge-webservices[bot] and others added 2 commits July 2, 2024 10:49
@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.

@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

@traversaro traversaro added the automerge Merge the PR when CI passes label Jul 2, 2024
@github-actions github-actions bot removed the automerge Merge the PR when CI passes label Jul 2, 2024
Copy link
Contributor

github-actions bot commented Jul 2, 2024

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

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

@traversaro traversaro merged commit 94ee55f into conda-forge:main Jul 2, 2024
8 checks passed
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.

1 participant