conda-forge / manif-feedstock

A conda-smithy repository for manif.
BSD 3-Clause "New" or "Revised" License
1 stars 4 forks source link

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

Closed traversaro closed 2 months ago

traversaro commented 2 months ago

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 https://github.com/conda-forge/bipedal-locomotion-framework-feedstock/pull/69 and https://github.com/conda-forge/bipedal-locomotion-framework-feedstock/pull/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 https://github.com/conda-forge/pybind11-feedstock/pull/94#issuecomment-2033804227 .

Checklist

conda-forge-webservices[bot] commented 2 months ago

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 commented 2 months ago

@conda-forge-admin, please rerender

conda-forge-webservices[bot] commented 2 months ago

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 commented 2 months ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 months ago

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!