I’ve been trying to build Humble for macOS 13.5.2 (on M1). With the help of Discord, I’ve gotten further along, but now I’ve run into an issue I’m not sure how to solve.
python_orocos_kdl_vendor, I get the following error:
In file included from /Users/rmann/ros2_humble/build/python_orocos_kdl_vendor/_deps/python_orocos_kdl-src/python_orocos_kdl/PyKDL/PyKDL.cpp:27: In file included from /Users/rmann/ros2_humble/build/python_orocos_kdl_vendor/_deps/python_orocos_kdl-src/python_orocos_kdl/PyKDL/PyKDL.h:26: In file included from /Users/rmann/ros2_humble/install/pybind11_vendor/include/pybind11_vendor/pybind11/pybind11.h:13: In file included from /Users/rmann/ros2_humble/install/pybind11_vendor/include/pybind11_vendor/pybind11/attr.h:13: In file included from /Users/rmann/ros2_humble/install/pybind11_vendor/include/pybind11_vendor/pybind11/cast.h:16: /Users/rmann/ros2_humble/install/pybind11_vendor/include/pybind11_vendor/pybind11/detail/type_caster_base.h:482:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame') frame = frame->f_back; ^ /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame' typedef struct _frame PyFrameObject; ^ 1 error generated. make: *** [_deps/python_orocos_kdl-build/CMakeFiles/PyKDL.dir/PyKDL/PyKDL.cpp.o] Error 1 make: *** [_deps/python_orocos_kdl-build/CMakeFiles/PyKDL.dir/all] Error 2 make: *** [all] Error 2
This is due to a bug in the
pybind11 v2.9.1 dependency. The bug in that version is allegedly fixed in v2.10.4, possibly earlier.
Brew on macOS installs the latest
pybind11, v2.11.1, but ros2 doesn’t find that. I don’t know enough about cmake to understand why (perhaps it’s only looking for v2.9.1).
I’m not sure how it even builds for other platforms.
In any case, can anyone recommend a way to resolve this?