今天cmake的时候报错:
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:4 (find_package): Could not find a package configuration file provided by “moveit_msgs” with any of the following names:
moveit_msgsConfig.cmake
moveit_msgs-config.cmake
参考 http://www.manongjc.com/article/52159.html 与 https://blog.csdn.net/qq_25267657/article/details/84638950 其实就是要下载功能包:
sudo apt-get install ros-indigo-moveit-msgs
后面出现错误:
错误…XXXXXX… …404 Not Found
E: 有几个软件包无法下载,您可以运行 apt-get update 或者加上 --fix-missing 的选项再试试?
然而,不管是 apt-get update 还是 apt-get update --fix-missing 依然报错。查找问题说是要更新源。方法也很简单,主要参考了:
https://www.cnblogs.com/zlslch/p/6860229.html
https://blog.csdn.net/u010053463/article/details/49300625
先备份源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
打开源文件:
sudo gedit /etc/apt/sources.list
随便找一个推荐的源将原来源文件的内容覆盖保存即可。
继续 sudo apt-get update
出现新的错误:
错误:W:校验签名出错、此仓库未被更新,仍然使用以前的索引文件。GPG 错误:http://…XXX… Release:由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
W:无法下载 http://…XXX…
W:部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
参考 https://yuting-lv.iteye.com/blog/2053019
清理apt文件夹内缓存文件:
1、sudo apt-get clean
2、cd /var/lib/apt
3、sudo rm -rf lists.old
4、sudo mv lists lists.old
5、sudo mkdir -p lists/partial
6、sudo apt-get clean
7、sudo apt-get update
再次 sudo apt-get update
错误变为:
W: GPG 错误:http://…XXX… Release: 下列签名无效:BADSIG F42ED6FBAB17C654…XXXX…
W: 无法下载 bzip2:/var/lib/apt/lists/partial
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
下载密钥 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
继续 sudo apt-get update
依然存在报错:
W: 无法下载 http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg 无法发起与 dl.google.com:80 (2401:3800:4001:807::1007) 的连接 - connect (101: 网络不可达)
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
后面搜索网上的方法也没有解决,但是仔细看报错好像只是说chrome的问题,于是忽略它。
输入 sudo apt-get install ros-indigo-moveit-msgs 这一次终于成功安装上了。