Skip to content

Incompatible version of Python empy in ardupilot-dev-ros #34

Description

@srmainwaring

The ardupilot-dev-ros image installs empy 4.2 which is not compatible with ROS 2 Humble. This is apparent when trying to build the ArduPilot ROS 2 packages from the container:

colcon build --packages-select ardupilot_msgs
Starting >>> ardupilot_msgs
--- stderr: ardupilot_msgs                         
CMake Error at /opt/ros/humble/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:59 (message):
  execute_process(/usr/bin/python3 -m rosidl_adapter --package-name
  ardupilot_msgs --arguments-file
  /root/ardu_ws/build/ardupilot_msgs/rosidl_adapter__arguments__ardupilot_msgs.json
  --output-dir
  /root/ardu_ws/build/ardupilot_msgs/rosidl_adapter/ardupilot_msgs
  --output-file
  /root/ardu_ws/build/ardupilot_msgs/rosidl_adapter/ardupilot_msgs.idls)
  returned error code 1:

  AttributeError processing template 'msg.idl.em'

  Traceback (most recent call last):

    File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/resource/__init__.py", line 51, in evaluate_template
      em.BUFFERED_OPT: True,

  AttributeError: module 'em' has no attribute 'BUFFERED_OPT'

...etc

It can be remedied in the container by running:

pip install empy==3.3.4

but would be better fixed in the image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions