Add missing numpy host dependency and constrain pybind11 < 2.12.0 for ABI Windows problem#41
Conversation
… ABI Windows problem
|
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:
|
|
@conda-forge-admin, please rerender |
…nda-forge-pinning 2024.07.02.07.10.32
|
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 ( |
|
@conda-forge-admin, please rerender |
…nda-forge-pinning 2024.07.02.10.47.51
|
Hi! This is the friendly conda-forge automerge bot! Commits were made to this PR after the |
Something that I overlooked when packaging Python bindings to C++ libraries that wrap eigen vector or matrices via the
pybind/eigen.hheader is that those bindings depends on numpy ABI (via the include sequencepybind/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-frameworkpython 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 pinnumpy<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
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)