Skip to content

Custom message don't compile with -Wl,--no-undefined #213

Open
@Rayman

Description

@Rayman

Bug report

Required Info:

  • Operating System:
    Ubuntu 24.04
  • Installation type: binaries
  • Version or commit hash: 4.6.2-1noble.20240513.234614
  • DDS implementation: default
  • Client library (if applicable): N/A

Steps to reproduce issue

docker run -it ros:jazzy
cd && mkdir src && cd src
git clone https://github.com/Rayman/tutorial_interfaces.git
cd
colcon build

Expected behavior

Custom messages will compile with -Wl,--no-undefined linker flag.

Actual behavior

Starting >>> tutorial_interfaces
--- stderr: tutorial_interfaces                              
/usr/bin/ld: CMakeFiles/tutorial_interfaces_s__rosidl_typesupport_introspection_c.dir/rosidl_generator_py/tutorial_interfaces/_tutorial_interfaces_s.ep.rosidl_typesupport_introspection_c.c.o: in function `Py_XDECREF':
_tutorial_interfaces_s.ep.rosidl_typesupport_introspection_c.c:(.text+0x5a): undefined reference to `_Py_Dealloc'
/usr/bin/ld: CMakeFiles/tutorial_interfaces_s__rosidl_typesupport_introspection_c.dir/rosidl_generator_py/tutorial_interfaces/_tutorial_interfaces_s.ep.rosidl_typesupport_introspection_c.c.o: in function `_register_msg_type__msg__num':
_tutorial_interfaces_s.ep.rosidl_typesupport_introspection_c.c:(.text+0xc7): undefined reference to `PyCapsule_New'
...

Additional information

These errors indicate that the generated interfaces are not linked correctly to Python3. The solution would be to adjust the cmake files that the generated python interfaces are correctly linked.

I hope I'm filing this bug in the correct repo. If not, please point me in the right direction.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions