From 00bfa52d38230d8dfce3feee24ea6a5fe13a9aca Mon Sep 17 00:00:00 2001 From: Matthias Keim Date: Thu, 11 Jun 2026 17:25:04 +0200 Subject: [PATCH 1/2] fix(rosidl_generator_py): link Python3 PRIVATE on macOS to resolve undefined symbols --- patch/ros-jazzy-rosidl-generator-py.osx.patch | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/patch/ros-jazzy-rosidl-generator-py.osx.patch b/patch/ros-jazzy-rosidl-generator-py.osx.patch index cde64b21b..51563f7b8 100644 --- a/patch/ros-jazzy-rosidl-generator-py.osx.patch +++ b/patch/ros-jazzy-rosidl-generator-py.osx.patch @@ -23,16 +23,11 @@ index cfc424a..cddd23d 100644 target_include_directories(${_target_name_lib} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c -@@ -162,8 +158,15 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") +@@ -162,8 +158,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(_extension_compile_flags -Wall -Wextra) endif() -+if(APPLE) -+ set_target_properties(${_target_name_lib} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") -+ target_include_directories(${_target_name_lib} PUBLIC ${Python3_INCLUDE_DIRS} ${Python3_NumPy_INCLUDE_DIRS}) -+else() -+ target_link_libraries(${_target_name_lib} PUBLIC Python3::NumPy Python3::Python) -+endif() ++target_link_libraries(${_target_name_lib} PRIVATE Python3::NumPy Python3::Python) + rosidl_get_typesupport_target(c_typesupport_target "${rosidl_generate_interfaces_TARGET}" "rosidl_typesupport_c") -target_link_libraries(${_target_name_lib} PRIVATE ${c_typesupport_target}) From 424457e0ed770b4b7eded9ccac40df88ccdacd05 Mon Sep 17 00:00:00 2001 From: Matthias Keim Date: Fri, 12 Jun 2026 12:12:56 +0200 Subject: [PATCH 2/2] fix: link Python3::Module on macOS for rosidl_generator_py --- patch/ros-jazzy-rosidl-generator-py.osx.patch | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/patch/ros-jazzy-rosidl-generator-py.osx.patch b/patch/ros-jazzy-rosidl-generator-py.osx.patch index 51563f7b8..62da58cee 100644 --- a/patch/ros-jazzy-rosidl-generator-py.osx.patch +++ b/patch/ros-jazzy-rosidl-generator-py.osx.patch @@ -23,11 +23,16 @@ index cfc424a..cddd23d 100644 target_include_directories(${_target_name_lib} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c -@@ -162,8 +158,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") +@@ -162,8 +158,15 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(_extension_compile_flags -Wall -Wextra) endif() -+target_link_libraries(${_target_name_lib} PRIVATE Python3::NumPy Python3::Python) ++if(APPLE) ++ target_link_libraries(${_target_name_lib} PRIVATE Python3::NumPy Python3::Module) ++ target_include_directories(${_target_name_lib} PRIVATE ${Python3_INCLUDE_DIRS} ${Python3_NumPy_INCLUDE_DIRS}) ++else() ++ target_link_libraries(${_target_name_lib} PUBLIC Python3::NumPy Python3::Python) ++endif() + rosidl_get_typesupport_target(c_typesupport_target "${rosidl_generate_interfaces_TARGET}" "rosidl_typesupport_c") -target_link_libraries(${_target_name_lib} PRIVATE ${c_typesupport_target}) @@ -61,4 +66,4 @@ index cfc424a..cddd23d 100644 + target_link_libraries(${_target_name_lib} PUBLIC ${${_pkg_name}_TARGETS${rosidl_generator_py_suffix}}) endforeach() - set_target_properties(${_target_name_lib} PROPERTIES COMPILE_OPTIONS "${_extension_compile_flags}") + set_target_properties(${_target_name_lib} PROPERTIES COMPILE_OPTIONS "${_extension_compile_flags}") \ No newline at end of file