Skip to content

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

@srmainwaring

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions