问题解决方案1————-catkin_make编译时候的各种问题汇总


文件移植和编译出现的问题汇总

我真实服了,我几乎每一步都能遇到问题,这是我catkin_make时候遇到的新问题:
在这里插入图片描述
百度总结了一下,文末附上链接:

1.Could not find a package configuration file provided by "gazebo_ros_control" with any of the following names: gazebo_ros_controlConfig.cmake gazebo_ros_control-config.cmake

提示缺少“gazebo_ros_control”功能包,
sudo apt-get install ros-kinetic-gazebo-ros-control

  1. Could not find a package configuration file provided by "move_base_msgs" with any of the following names: move_base_msgsConfig.cmake move_base_msgs-config.cmake

提示缺少“gazebo_ros_control”功能包,
sudo apt-get install ros-kinetic-move-base-msgs

3.alsa/asoundlib.h: No such file or directory

缺少一个库,
sudo apt-get install libasound2-dev

4.关于"hardware_interface"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
      Could not find a package configuration file provided by
      "hardware_interface" with any of the following names:
     
        hardware_interfaceConfig.cmake
        hardware_interface-config.cmake
     
      Add the installation prefix of "hardware_interface" to CMAKE_PREFIX_PATH or
      set "hardware_interface_DIR" to a directory containing one of the above
      files.  If "hardware_interface" provides a separate development package or
      SDK, be sure it has been installed.
    Call Stack (most recent call first):
      aubo_robot/aubo_new_driver/CMakeLists.txt:9 (find_package)
     
     
    -- Could not find the required component 'hardware_interface'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
    CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
      Could not find a package configuration file provided by
      "hardware_interface" with any of the following names:
     
        hardware_interfaceConfig.cmake
        hardware_interface-config.cmake
     
      Add the installation prefix of "hardware_interface" to CMAKE_PREFIX_PATH or
      set "hardware_interface_DIR" to a directory containing one of the above
      files.  If "hardware_interface" provides a separate development package or
      SDK, be sure it has been installed.
    Call Stack (most recent call first):
      aubo_robot/aubo_new_driver/CMakeLists.txt:9 (find_package)
     
     
    -- Configuring incomplete, errors occurred!
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
    Makefile:1858: recipe for target 'cmake_check_build_system' failed
    make: *** [cmake_check_build_system] Error 1
    Invoking "make cmake_check_build_system" failed

解决方法:

1
2
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller

2、关于controller_manager

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
      Could not find a package configuration file provided by
      "controller_manager" with any of the following names:
     
        controller_managerConfig.cmake
        controller_manager-config.cmake
     
      Add the installation prefix of "controller_manager" to CMAKE_PREFIX_PATH or
      set "controller_manager_DIR" to a directory containing one of the above
      files.  If "controller_manager" provides a separate development package or
      SDK, be sure it has been installed.
    Call Stack (most recent call first):
      aubo_robot/aubo_new_driver/CMakeLists.txt:9 (find_package)
     
     
    -- Configuring incomplete, errors occurred!
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
    Makefile:1858: recipe for target 'cmake_check_build_system' failed
    make: *** [cmake_check_build_system] Error 1
    Invoking "make cmake_check_build_system" failed

解决办法

1
sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers

3、与Python兼容问题(No module catkin_dkg.package)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- Using Python nosetests: /usr/bin/nosetests-2.7
    ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
    Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
    CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
      execute_process(/home/wgb/anaconda2/bin/python
      "/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
      "/opt/ros/kinetic/share/catkin/cmake/../package.xml"
      "/home/wgb/catkin_ws/build/catkin/catkin_generated/version/package.cmake")
      returned error code 1
    Call Stack (most recent call first):
      /opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:63 (safe_execute_process)
      /opt/ros/kinetic/share/catkin/cmake/all.cmake:151 (_catkin_package_xml)
      /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
      CMakeLists.txt:52 (find_package)
     
     
    -- Configuring incomplete, errors occurred!
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
    Invoking "cmake" failed

解决办法
检查一下Python的版本: wgb@wgb:~$ python -V
检查一下catkin依赖的Python版本: wgb@wgb:~$ dpkg -L python-catkin-pkg
如果Python的版本和catkin依赖的版本不一样,说明Python依赖包有问题,解决办法:

1
2
    conda install setuptools
    pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools

4、No module named em 的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
ImportError: No module named em
    gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:117: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/ContactState.h' failed
    make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/ContactState.h] Error 1
    Traceback (most recent call last):
      File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
        import genmsg.template_tools
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
        import em
    ImportError: No module named em
    gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:139: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkStates.h' failed
    make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkStates.h] Error 1
    Traceback (most recent call last):
      File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
        import genmsg.template_tools
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
        import em
    ImportError: No module named em
    Traceback (most recent call last):
      File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
        import genmsg.template_tools
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
        import em
    ImportError: No module named em
    gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:128: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkState.h' failed
    make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/LinkState.h] Error 1
    gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:161: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/ModelStates.h' failed
    make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/ModelStates.h] Error 1
    Traceback (most recent call last):
      File "/opt/ros/kinetic/share/gencpp/cmake/../../../lib/gencpp/gen_cpp.py", line 41, in <module>
        import genmsg.template_tools
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py", line 39, in <module>
        import em
    ImportError: No module named em
    gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/build.make:174: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_msgs/WorldState.h' failed
    make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_msgs/WorldState.h] Error 1
    CMakeFiles/Makefile2:1511: recipe for target 'gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/all' failed
    make[1]: *** [gazebo_ros_pkgs/gazebo_msgs/CMakeFiles/gazebo_msgs_generate_messages_cpp.dir/all] Error 2
    Makefile:138: recipe for target 'all' failed
    make: *** [all] Error 2
    Invoking "make -j12 -l12" failed

解决办法:

1
wgb@wgb:~/catkin_ws$ pip install empy

5、 defusedxml.xmlrpc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Traceback (most recent call last):
      File "/opt/ros/kinetic/lib/xacro/xacro", line 32, in <module>
        import xacro
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/xacro/__init__.py", line 42, in <module>
        from roslaunch import substitution_args
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 56, in <module>
        from .launch import ROSLaunchRunner
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/launch.py", line 55, in <module>
        from roslaunch.nodeprocess import create_master_process, create_node_process
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py", line 52, in <module>
        from rosmaster.master_api import NUM_WORKERS
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/__init__.py", line 35, in <module>
        from .main import rosmaster_main
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in <module>
        import rosmaster.master
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master.py", line 47, in <module>
        import rosmaster.master_api
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master_api.py", line 72, in <module>
        from rosmaster.util import xmlrpcapi
      File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/util.py", line 48, in <module>
        from defusedxml.xmlrpc import monkey_patch
    ImportError: No module named defusedxml.xmlrpc
    while processing /home/wgb/catkin_ws/src/aubo_robot/aubo_description/launch/aubo_i5_upload.launch:
    Invalid <param> tag: Cannot load command parameter [robot_description]: command [/opt/ros/kinetic/lib/xacro/xacro --inorder '/home/wgb/catkin_ws/src/aubo_robot/aubo_description/urdf/aubo_i5_robot.urdf.xacro'] returned with code [1].
     
    Param xml is <param command="$(find xacro)/xacro --inorder '$(find aubo_description)/urdf/aubo_i5_robot.urdf.xacro'" name="robot_description"/>
    The traceback for the exception was written to the log file

解决方法:

1
wgb@wgb:~$ conda install -c conda-forge defusedxml
1
2
3
4
5
6
7
8
9
10
11
12
wgb@wgb:~$ roslaunch aubo_driver aubo_i5_bringup.launch robot_ip:=192.168.1.34
    [aubo_i5_bringup.launch] is neither a launch file in package [aubo_driver] nor is [aubo_driver] a launch file name
    The traceback for the exception was written to the log file


solving mehtod

    Without any further information or poitners to the source of that package it is hard to tell what is going on. Does the file tb_tables.launch actually exist? Did you source the setup.bash file?
     
    What does rospack find tb_tables output?
     
    If that gives an error, try executing source /home/gabriel/catkin_ws/devel/setup.bash and then try the roslaunch again.

解决办法:

1
source /home/wgb/catkin_ws/devel/setup.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- Found gtest sources under '/usr/src/gtest': gtests will be built
    -- Using Python nosetests: /usr/bin/nosetests-2.7
    CMake Error at /opt/ros/kinetic/share/catkin/cmake/assert.cmake:17 (message):
     
     
      Assertion failed: check for file existence, but filename
      (RT_LIBRARY-NOTFOUND) unset.  Message: RT Library
     
    Call Stack (most recent call first):
      /opt/ros/kinetic/share/catkin/cmake/tools/rt.cmake:42 (assert_file_exists)
      /opt/ros/kinetic/share/catkin/cmake/all.cmake:147 (include)
      /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
      CMakeLists.txt:52 (find_package)
     
     
    -- Configuring incomplete, errors occurred!
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeOutput.log".
    See also "/home/wgb/catkin_ws/build/CMakeFiles/CMakeError.log".
    Invoking "cmake" failed

解决方法
ubuntu 文件夹/usr/lib/x86_64-linux-gnu/ shangmian you ge cha, xiang fa chuqu??????????
8.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/home/wgb/catkin_ws/build/gazebo_ros_pkgs/gazebo_plugins/setup_custom_pythonpath.sh: 4: exec: /home/wgb/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg/CameraSynchronizer.cfg: Permission denied

    /home/wgb/catkin_ws/build/gazebo_ros_pkgs/gazebo_plugins/setup_custom_pythonpath.sh: 4: exec: /home/wgb/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg/CameraSynchronizer.cfg: Permission denied
    gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_plugins_gencfg.dir/build.make:69: recipe for target '/home/wgb/catkin_ws/devel/include/gazebo_plugins/CameraSynchronizerConfig.h' failed
    make[2]: *** [/home/wgb/catkin_ws/devel/include/gazebo_plugins/CameraSynchronizerConfig.h] Error 126
    CMakeFiles/Makefile2:6310: recipe for target 'gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_plugins_gencfg.dir/all' failed
    make[1]: *** [gazebo_ros_pkgs/gazebo_plugins/CMakeFiles/gazebo_plugins_gencfg.dir/all] Error 2
    make[1]: *** 正在等待未完成的任务....
    [ 86%] Linking CXX shared library /home/wgb/catkin_ws/devel/lib/libgazebo_ros_joint_trajectory.so
    [ 86%] Built target gazebo_ros_joint_trajectory
    [ 86%] Linking CXX shared library /home/wgb/catkin_ws/devel/lib/libgazebo_ros_joint_state_publisher.so
    [ 86%] Linking CXX shared library /home/wgb/catkin_ws/devel/lib/libgazebo_ros_api_plugin.so
    [ 86%] Built target gazebo_ros_joint_state_publisher
    [ 86%] Built target gazebo_ros_api_plugin
    Makefile:138: recipe for target 'all' failed
    make: *** [all] Error 2
    Invoking "make -j4 -l4" failed

解决方法:

1
2
  wgb@wgb:~/catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/cfg$ cd /home/wgb/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg
  wgb@wgb:~/catkin_ws/src/gazebo_ros_pkgs/gazebo_plugins/cfg$ chmod +x CameraSynchronizer.cfg

或者:

1
2
3
wgb@wgb:~/catkin_ws/src$ sudo chown -R wgb /home/wgb/catkin_ws/
[sudo] wgb 的密码:
 wgb@wgb:~/catkin_ws/src$ sudo chmod -R +x /home/wgb/catkin_ws/

参考:

https://answers.ros.org/question/206860/error-when-calling-catkin_make-invoking-make-failed/
9. “moveit_ros_planning”

1
2
moveit_ros_planningConfig.cmake
moveit_ros_planning-config.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
      Could not find a package configuration file provided by
      "moveit_ros_planning" with any of the following names:
     
        moveit_ros_planningConfig.cmake
        moveit_ros_planning-config.cmake
     
      Add the installation prefix of "moveit_ros_planning" to CMAKE_PREFIX_PATH
      or set "moveit_ros_planning_DIR" to a directory containing one of the above
      files.  If "moveit_ros_planning" provides a separate development package or
      SDK, be sure it has been installed.
    Call Stack (most recent call first):
      aubo_robot-indigo-devel/aubo_trajectory_filters/CMakeLists.txt:5 (find_package)
     
     
    -- Could not find the required component 'moveit_ros_planning'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
    CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
      Could not find a package configuration file provided by
      "moveit_ros_planning" with any of the following names:
     
        moveit_ros_planningConfig.cmake
        moveit_ros_planning-config.cmake
     
      Add the installation prefix of "moveit_ros_planning" to CMAKE_PREFIX_PATH
      or set "moveit_ros_planning_DIR" to a directory containing one of the above
      files.  If "moveit_ros_planning" provides a separate development package or
      SDK, be sure it has been installed.
    Call Stack (most recent call first):
      aubo_robot-indigo-devel/aubo_trajectory_filters/CMakeLists.txt:5 (find_package)
     
     
    -- Configuring incomplete, errors occurred!
    See also "/home/sensetime/catkin_ws/build/CMakeFiles/CMakeOutput.log".
    See also "/home/sensetime/catkin_ws/build/CMakeFiles/CMakeError.log".
    make: *** [cmake_check_build_system] Error 1
    Invoking "make cmake_check_build_system" failed

解决方法:
解决办法: 安装moveit,安装方法参考http://moveit.ros.org/install/

对于indigo

1
2
3
4
5
sudo apt-get install ros-indigo-moveit

sudo apt-get install ros-indigo-moveit-full-pr2

source /opt/ros/indigo/setup.bash

对于kinetic

1
2
sudo apt-get install ros-kinetic-moveit
source /opt/ros/kinetic/setup.bash

作者:arron盘
来源:CSDN
原文:https://blog.csdn.net/u012197995/article/details/85009861
版权声明:本文为博主原创文章,转载请附上博文链接!

四 arbotix+rviz的功能仿真