环境变量我感觉可以理解成黑话:外人看不懂,内部人一看就懂。一个码农可以写不好代码,但一定要能满嘴黑话忽悠住老板
1 缺少pinocchio包
错误现象:
CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:
A required package was not found
并提示:Failed << ocs2_pinocchio_interface
解决方法:
查看ocs2_pinocchio_interface包下的cmakelist.txt,根据提示发现缺少pinocchio包。安装之。
安装pinocchio方法:百度搜不到,谷歌找到的:
http://stack-of-tasks.github.io/pinocchio/download.html参照文中方法安装。以下是该网站中的方法简述:
1 安装依赖项:
sudo apt install -qqy lsb-release gnupg2 curl
2 增加软件源
echo "deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list
3 更新软件源,这在你增加了软件源后一定要做
sudo apt-get update
4 安装
sudo apt install -qqy robotpkg-py38-pinocchio
有可能你在终端里输入了这一行后输出一堆乱七八糟的报错,这时候你应该先去上个厕所,再喝杯水。然后查看你的Python版本,比如我的Python是3.8.0的,那么我在上面写py38,你的Python如果是其它版本对应修改即可。
5 增加环境变量
(环境变量我感觉可以理解成黑话:外人看不懂,内部人一看就懂。一个码农可以写不好代码,但一定能满嘴黑话忽悠住老板)
打开bashrc
sudo gedit ~/.bashrc
在文件的最后插入下面这一段东西
export PATH=/opt/openrobots/bin:$PATH
export PKG_CONFIG_PATH=/opt/openrobots/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/opt/openrobots/lib:$LD_LIBRARY_PATH
export PYTHONPATH=/opt/openrobots/lib/python2.7/site-packages:$PYTHONPATH # Adapt your desired python version here
export CMAKE_PREFIX_PATH=/opt/openrobots:$CMAKE_PREFIX_PATH
6 安装的最后一步记得把环境变量加入~/.bashrc中。然后在终端里souece一下setup.bash,我的工作空间叫catkin_ws,所以是
souece ~/catkin_ws/devel/setup.bash
2 缺少interactive_markers依赖:
在命令行的报错提示通常是说找不到interactive_markers的cmake文件:
Could not find a package configuration file provided by
"interactive_markers" with any of the following names:
interactive_markersConfig.cmake
interactive_markers-config.cmake
这个时候只需要安装interactive_markers即可。安装方式我单独开了一篇博客来写:
我的电脑是新安装的ubuntu20,很多包都没有装。所以在编译的时候报了不少类似的错,比缺少rviz、move_base_msgs等,均可参考上述方法解决。
3 缺少anymal_c_simple_description
使用cmake工具编译某功能包时出现如下报错:
Could not find a package configuration file provided by "anymal_c_simple_description" with any of the following names:
anymal_c_simple_descriptionConfig.cmake
anymal_c_simple_description-config.cmake
这个我单独列了出来是因为,按照前面的办法不行,ROS里并没有一个叫做anymal_c_simple_description的依赖项或者功能包!
解决办法如下: