weixin_39973492
2020-12-28 09:32 阅读 21

Mavros kinectic undefined symbol

This is only bug and feature tracker, please use it to report bugs or request features.

Issue details

Hi, I have been using docker to setup ros and mavros on a container. It was working perfectly fine and then suddenly I got the error. TLDR here is the error:


* /mavros/setpoi/opt/ros/kinetic/lib/mavros/mavros_node: symbol lookup error: /opt/ros/kinetic/lib/libmavros.so: undefined symbol: _ZN17rosconsole_bridge26RegisterOutputHandlerProxyD1Ev

The Dockerfile is the following:


FROM ros:kinetic-ros-base

# Install mavros and rosbridge packages
RUN apt-get update && apt-get install -y \
    ros-kinetic-mavros \
    ros-kinetic-mavros-extras \
    ros-kinetic-rosbridge-suite \
    ros-kinetic-ros-tutorials \
    ros-kinetic-common-tutorials \
    && rm -rf /var/lib/apt/lists/

COPY ./launch /launch

RUN wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh

RUN chmod +x install_geographiclib_datasets.sh

RUN ./install_geographiclib_datasets.sh

Docker-compose file:


`version: '2'
services:
  master:
    build: ./ros
    container_name: master
    command:
      - roscore

  bridge:
    build: ./ros
    container_name: bridge
    ports:
      - "9090:9090"
    depends_on:
      - master
      - mavros
    environment:
      - "ROS_HOSTNAME=bridge"
      - "ROS_MASTER_URI=http://master:11311"
    command: roslaunch rosbridge_server rosbridge_websocket.launch --wait

  mavros:
    build: ./ros
    container_name: mavros
    depends_on:
      - master
    ports:
      - "14551:14551/udp"
      - "14550:14550/udp"
    environment:
      - "ROS_HOSTNAME=mavros"
      - "ROS_MASTER_URI=http://master:11311"
    command: roslaunch mavros apm.launch fcu_url:=udp://mavros:14551@ --wait 

As I said it was working perfectly fine did not change anything in my code. Thank you very much for your help!

MAVROS version and platform

Mavros: ?0.18.4? ROS: ?Kinetic? Ubuntu: ?16.04?

Autopilot type and version

[ X] ArduPilot

Version: ?3.7.1?

Node logs


mavros    | roscore/master is not yet running, will wait for it to start
mavros    | master has started, initiating launch
mavros    | ... logging to /root/.ros/log/61e5db68-9cbb-11e8-86ab-0242ac160002/roslaunch-23a4a023e792-1.log
mavros    | Checking log directory for disk usage. This may take awhile.
mavros    | Press Ctrl-C to interrupt
mavros    | Done checking log file disk usage. Usage is <1GB.
mavros    | 
mavros    | started roslaunch server http://mavros:36263/
mavros    | 
mavros    | SUMMARY
mavros    | ========
mavros    | 
mavros    | CLEAR PARAMETERS
mavros    |  * /mavros/
mavros    | 
mavros    | PARAMETERS
mavros    |  * /mavros/cmd/use_comp_id_system_control: False
mavros    |  * /mavros/conn/heartbeat_rate: 1.0
mavros    |  * /mavros/conn/system_time_rate: 0.0
mavros    |  * /mavros/conn/timeout: 10.0
mavros    |  * /mavros/conn/timesync_rate: 0.0
mavros    |  * /mavros/distance_sensor/rangefinder_pub/field_of_view: 0.0
mavros    |  * /mavros/distance_sensor/rangefinder_pub/frame_id: lidar
mavros    |  * /mavros/distance_sensor/rangefinder_pub/id: 0
mavros    |  * /mavros/distance_sensor/rangefinder_pub/send_tf: False
mavros    |  * /mavros/distance_sensor/rangefinder_pub/sensor_position/x: 0.0
mavros    |  * /mavros/distance_sensor/rangefinder_pub/sensor_position/y: 0.0
mavros    |  * /mavros/distance_sensor/rangefinder_pub/sensor_position/z: -0.1
mavros    |  * /mavros/distance_sensor/rangefinder_sub/id: 1
mavros    |  * /mavros/distance_sensor/rangefinder_sub/orientation: PITCH_270
mavros    |  * /mavros/distance_sensor/rangefinder_sub/subscriber: True
mavros    |  * /mavros/fake_gps/eph: 2.0
mavros    |  * /mavros/fake_gps/epv: 2.0
mavros    |  * /mavros/fake_gps/fix_type: 3
mavros    |  * /mavros/fake_gps/geo_origin/alt: 408.0
mavros    |  * /mavros/fake_gps/geo_origin/lat: 47.3667
mavros    |  * /mavros/fake_gps/geo_origin/lon: 8.55
mavros    |  * /mavros/fake_gps/gps_rate: 5.0
mavros    |  * /mavros/fake_gps/mocap_transform: True
mavros    |  * /mavros/fake_gps/satellites_visible: 5
mavros    |  * /mavros/fake_gps/tf/child_frame_id: fix
mavros    |  * /mavros/fake_gps/tf/frame_id: map
mavros    |  * /mavros/fake_gps/tf/listen: False
mavros    |  * /mavros/fake_gps/tf/rate_limit: 10.0
mavros    |  * /mavros/fake_gps/tf/send: False
mavros    |  * /mavros/fake_gps/use_mocap: True
mavros    |  * /mavros/fake_gps/use_vision: False
mavros    |  * /mavros/fcu_protocol: v2.0
mavros    |  * /mavros/fcu_url: udp://mavros:14551@
mavros    |  * /mavros/gcs_url: 
mavros    |  * /mavros/global_position/child_frame_id: base_link
mavros    |  * /mavros/global_position/frame_id: map
mavros    |  * /mavros/global_position/gps_uere: 1.0
mavros    |  * /mavros/global_position/rot_covariance: 99999.0
mavros    |  * /mavros/global_position/tf/child_frame_id: base_link
mavros    |  * /mavros/global_position/tf/frame_id: map
mavros    |  * /mavros/global_position/tf/global_frame_id: earth
mavros    |  * /mavros/global_position/tf/send: False
mavros    |  * /mavros/global_position/use_relative_alt: True
mavros    |  * /mavros/image/frame_id: px4flow
mavros    |  * /mavros/imu/angular_velocity_stdev: 0.000349065850399
mavros    |  * /mavros/imu/frame_id: base_link
mavros    |  * /mavros/imu/linear_acceleration_stdev: 0.0003
mavros    |  * /mavros/imu/magnetic_stdev: 0.0
mavros    |  * /mavros/imu/orientation_stdev: 1.0
mavros    |  * /mavros/local_position/frame_id: map
mavros    |  * /mavros/local_position/tf/child_frame_id: base_link
mavros    |  * /mavros/local_position/tf/frame_id: map
mavros    |  * /mavros/local_position/tf/send: False
mavros    |  * /mavros/local_position/tf/send_fcu: False
mavros    |  * /mavros/mission/pull_after_gcs: True
mavros    |  * /mavros/mocap/use_pose: True
mavros    |  * /mavros/mocap/use_tf: False
mavros    |  * /mavros/odometry/estimator_type: 3
mavros    |  * /mavros/odometry/frame_tf/desired_frame: ned
mavros    |  * /mavros/plugin_blacklist: ['actuator_contro...
mavros    |  * /mavros/plugin_whitelist: []
mavros    |  * /mavros/px4flow/frame_id: px4flow
mavros    |  * /mavros/px4flow/ranger_fov: 0.118682389136
mavros    |  * /mavros/px4flow/ranger_max_range: 5.0
mavros    |  * /mavros/px4flow/ranger_min_range: 0.3
mavros    |  * /mavros/safety_area/p1/x: 1.0
mavros    |  * /mavros/safety_area/p1/y: 1.0
mavros    |  * /mavros/safety_area/p1/z: 1.0
mavros    |  * /mavros/safety_area/p2/x: -1.0
mavros    |  * /mavros/safety_area/p2/y: -1.0
mavros    |  * /mavros/safety_area/p2/z: -1.0
mavros    |  * /mavros/setpoint_accel/send_force: False
mavros    |  * /mavros/setpoint_attitude/reverse_thrust: False
mavros    |  * /mavros/setpoint_attitude/tf/child_frame_id: target_attitude
mavros    |  * /mavros/setpoint_attitude/tf/frame_id: map
mavros    |  * /mavros/setpoint_attitude/tf/listen: False
mavros    |  * /mavros/setpoint_attitude/tf/rate_limit: 50.0
mavros    |  * /mavros/setpoint_attitude/use_quaternion: False
mavros    |  * /mavros/setpoint_position/mav_frame: LOCAL_NED
mavros    |  * /mavros/setpoint_position/tf/child_frame_id: target_position
mavros    |  * /mavros/setpoint_position/tf/frame_id: map
mavros    |  * /mavros/setpoint_position/tf/listen: False
mavros    |  * /mavros/setpoi/opt/ros/kinetic/lib/mavros/mavros_node: symbol lookup error: /opt/ros/kinetic/lib/libmavros.so: undefined symbol: _ZN17rosconsole_bridge26RegisterOutputHandlerProxyD1Ev
mavros    | ================================================================================REQUIRED process [mavros-1] has died!
mavros    | process has died [pid 37, exit code 127, cmd /opt/ros/kinetic/lib/mavros/mavros_node __name:=mavros __log:=/root/.ros/log/61e5db68-9cbb-11e8-86ab-0242ac160002/mavros-1.log].
mavros    | log file: /root/.ros/log/61e5db68-9cbb-11e8-86ab-0242ac160002/mavros-1*.log
mavros    | Initiating shutdown!
mavros    | ================================================================================
mavros    | nt_position/tf/rate_limit: 50.0
mavros    |  * /mavros/setpoint_velocity/mav_frame: LOCAL_NED
mavros    |  * /mavros/startup_px4_usb_quirk: False
mavros    |  * /mavros/sys/disable_diag: False
mavros    |  * /mavros/sys/min_voltage: 10.0
mavros    |  * /mavros/target_component_id: 1
mavros    |  * /mavros/target_system_id: 1
mavros    |  * /mavros/tdr_radio/low_rssi: 40
mavros    |  * /mavros/time/time_ref_source: fcu
mavros    |  * /mavros/time/timesync_avg_alpha: 0.6
mavros    |  * /mavros/time/timesync_mode: NONE
mavros    |  * /mavros/vibration/frame_id: base_link
mavros    |  * /mavros/vision_pose/tf/child_frame_id: vision_estimate
mavros    |  * /mavros/vision_pose/tf/frame_id: map
mavros    |  * /mavros/vision_pose/tf/listen: False
mavros    |  * /mavros/vision_pose/tf/rate_limit: 10.0
mavros    |  * /mavros/vision_speed/listen_twist: True
mavros    |  * /mavros/vision_speed/twist_cov: True
mavros    |  * /rosdistro: kinetic
mavros    |  * /rosversion: 1.12.13
mavros    | 
mavros    | NODES
mavros    |   /
mavros    |     mavros (mavros/mavros_node)
mavros    | 
mavros    | ROS_MASTER_URI=http://master:11311
mavros    | 
mavros    | process[mavros-1]: started with pid [37]
mavros    | [mavros-1] killing on exit
mavros    | shutting down processing monitor...
mavros    | ... shutting down processing monitor complete
mavros    | done
mavros exited with code 0

Diagnostics


Can't access it since I'm using docker and the container crashes.

Check ID


rosrun mavros checkid

该提问来源于开源项目:mavlink/mavros

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • weixin_39553653 weixin_39553653 2020-12-28 09:32

    Please check what version of mavros installed. 0.18 pretty old, it should be 0.25 at least.

    Note: datasets can be installed by rosrun mavros install_geographiclib_datasets.sh, it shipped with other mavros scripts.

    点赞 评论 复制链接分享
  • weixin_39911998 weixin_39911998 2020-12-28 09:32

    I get the same result when I run : roslaunch mavros px4.launch what's the reason of the error result? I have installed the `rosrun mavros install_geographiclib_datasets.sh' , but it doesn't work.

    点赞 评论 复制链接分享
  • weixin_39999116 weixin_39999116 2020-12-28 09:32

    I have the same issue with a fresh install of Ubuntu Mate 16.04 (Ubiquity Robots, as recommended for Raspberry Pi by ROS Wiki) and MAVROS v 0.26.1.

    I have previously had this running (couple of months ago) so something has been updated, perhaps.

    点赞 评论 复制链接分享
  • weixin_39999116 weixin_39999116 2020-12-28 09:32

    For further info, I am not using docker and have set up according to my blog (previously successfully!) at [https://mikeisted.wordpress.com/2018/05/13/robot-operating-system-for-flight-monitoring-and-control-getting-started/]

    点赞 评论 复制链接分享
  • weixin_39720865 weixin_39720865 2020-12-28 09:32

    There have been some changes in ROS recently, try:

    bash
    $ sudo apt update
    $ sudo apt upgrade
    

    If ROS stuff needs to be upgraded, the upgrade should solve the issue.

    点赞 评论 复制链接分享
  • weixin_39550940 weixin_39550940 2020-12-28 09:32

    Same issue, I have used the script ubuntu_sim_ros_gazebo.sh from px4. Yesterday it finished successfully. Now I've needed to build mavros from source and got linker error with this symbol. Installed binaries, tried to launch them and here I am. Something has changed but what?

    点赞 评论 复制链接分享
  • weixin_39999116 weixin_39999116 2020-12-28 09:32

    OK - so update then upgrade worked for me. Thanks Voidminded.

    点赞 评论 复制链接分享
  • weixin_39550940 weixin_39550940 2020-12-28 09:32

    indeed, I did apt list --installed ros-kinetic* | grep upgradable | sed s#/.*## | xargs sudo apt install -y

    点赞 评论 复制链接分享