package ‘catkin‘ depends on non-existent package ‘python3-catkin-pkg‘
这个问题的出现有点莫名其妙,不知道是在怎样的情况下触发的. 总之,现象就是: 之前可以很好地编译的ROS下的ORBSLAM的文件都无法再编译了, 每次提示如下:
[rosbuild] Building package ORB_SLAM2
Failed to invoke /opt/ros/kinetic/bin/rospack deps-manifests ORB_SLAM2
[rospack] Error: package 'catkin' depends on non-existent package 'python3-catkin-pkg' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'CMake Error at /opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:129 (message):Failed to invoke rospack to get compile flags for package 'ORB_SLAM2'.Look above for errors from rospack itself. Aborting. Please fix thebroken dependency!Call Stack (most recent call first):/opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:207 (rosbuild_invoke_rospack)CMakeLists.txt:4 (rosbuild_init)
检查了一下Ros下的catkin的依赖文件,其中有如下几行:
<depend condition="$ROS_PYTHON_VERSION == 2">python-argparse</depend><depend condition="$ROS_PYTHON_VERSION == 2" version_gt="0.4.3">python-catkin-pkg</depend><depend condition="$ROS_PYTHON_VERSION == 3" version_gt="0.4.3">python3-catkin-pkg</depend>
推测是之前来回切换python的版本导致的, 接下来说一下我的整个解决过程,最正确的步骤在最后, 大家可以直接翻到最后, 中间步骤中有一些坑,也要注意一下:
1. 首先我检查了一下自己当前电脑的python版本, 用update-alternatives 切换到了python2的版本
update-alternatives --config python
2. 然后安装python3-catkin-pkg , 但是安装的时候出现了提醒就是会有280个软件被卸载,也就是ros-kinect相关的软件都会被删除, 这就很头大了,千万不要同意,否则一切就白费了
可以安装 sudo apt-get install python3-catkin-pkg-modules 试一下, 但是安装之后其实还是不能解决问题的, 同时像sudo apt-get install ros-kinetic-catkin 重新安装catkin的命令也执行了, 但是并不管用;
3. 看到上面问题的提醒, 让运行rosdep update, 于是尝试运行, 但是每次运行都会有如下问题:
reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:<urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml]:<urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml]:<urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml]:<urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:Failed to download target platform data for gbpdistro:<urlopen error [Errno 111] Connection refused>
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
ERROR: error loading sources list:<urlopen error <urlopen error [Errno 111] Connection refused> (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)>
总结来讲就是Connection refused. (应该不是VPN的问题, 因为我在科学上网,可以连接外网)
于是找到了这篇博客: rosdep更新不了的问题
博主遇到的问题是Connection Timeout, 而我的问题是connection refused, 抱着试试看的心态跟着做了一下, 具体如下:
分别运行:
sudo vi /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo vi /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo vi /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
在文件中找到 :/DOWNLOAD_TIMEOUT 由15修改为25后保存;
同时在下面文件中添加新的host, 即可完成.
sudo gedit /etc/hosts
151.101.84.133 raw.githubusercontent.com
重新运行rosdep update 和ORBSLAM的编译, 都可以了;
package ‘catkin‘ depends on non-existent package ‘python3-catkin-pkg‘相关推荐
- The declared package does not match the expected package
eclipse使用import导入源代码到项目中或者通过svn检出等方式导入源码到项目中,控制台容易出现大量错误. 但同时直接使用ant脚本进行编译则能编译成功. 这个时候请不用担心,打开错误可以看到 ...
- 安装webpack出现“Refusing to install package with name webpack under a package”
安装webpack出现"Refusing to install package with name "webpack" under a package" npm ...
- 【Unity3D 问题总结】Failed to import package with error: Couldn‘t decompress package
报错问题:Failed to import package with error: Couldn't decompress package 今天在导入一个资源包的时候突然提示报错:Failed to ...
- 【catkin】——将自己代码打包成catkin包
catkin catkin 只安装一个库和撤销 catkin config --install 撤销 catkin config --no-install 1. 将整个项目打包成 catkin 的包 ...
- 如何处理Eclipse错误消息 The declared package does not match the expected package
我从github下载了一个开源项目后,导入到自己Eclipse之后,遇到了这个烦人的错误消息: The declared package "com.sap.smartService" ...
- java package 目录_修改jar包package目录结构操作方法
本文将为您描述修改jar包package目录结构操作方法,具体操作过程: 开发中会遇到用第三方的jar包,有时候会出现不同的jar包,包名一致的情况,这就会引发运行时异常,找不到相应的jar包. 这种 ...
- import package java_java初学者,如何理解package和import?
对于初学者 java执行工具.javac编译工具:sourcepath.classpath环境变量 :import关键字 .package关键字 :java文件.class文件.jar文件这些东西混淆 ...
- Unity之Failed to import package with error: Couldn‘t decompress package
一.背景 小伙伴们在导入Unity官方商店资源时,会不会出现这个问题呢? 二.解决方案 一.项目所在文件夹有足够空间来解压 二.unityPackage是否在中文路径下,请确保全部用英文 三.重新下载 ...
- oracle的package是什么意思,Oracle的Package的作用及用法
简化应用设计.提高应用性能.实现信息隐藏.子程序重载. 1.Oracle的Package除 了把存储过程放到一堆儿以外还有没有其他的作用(好处)? 你不觉得把存储过程分门别类是很重要的么,而且不同的p ...
最新文章
- php集成paypal付款流程,在PHP中集成PayPal标准支付
- 迄今最详细宇宙模型建成
- lower_boundupper_bound
- 7000字 23张图,Pandas一键生成炫酷的动态交互式图表
- drupal6 笔记
- WebSocket 是什么原理?为什么可以实现持久连接?什么情况使用WebSocket
- 作为一个程序员,hibernate和jdbc 有什么不一样的点,你知道吗
- Javascript:拦截所有AJAX调用,重点处理服务器异常
- rpm 安装 mysql5.6.28_Linux(Ubuntu)下Mysql5.6.28安装配置方法图文教程
- 实时帧数手机_方便好用的手机帧数记录软件
- Java项目_宠物领养系统_不到一小时教会你
- 相机成像原理及坐标变换
- 手把手教学endnote设置毕业论文参考文献格式(特别完整)
- java 调用微信JsApi支付
- SpringBoot整合Minio实现文件上传、下载
- 2019年繁星屠龙1-8窍门_《倚天屠龙记》27年后,赵敏终于在元大都等到了41岁的林峰...
- 偶然看到,也许有用!
- 基于高通芯片组的广和通FM150 5G模组GPS测试演示
- Bentley 软件公司发起 2021 基础设施数字化光辉大奖赛项目征集活动
- SQL Server无法连接服务器
热门文章
- 任意进制的转换(C,C++)itoa函数,strtol函数,bitset函数,oct函数,dec函数,hex函数
- ModuleNotFoundError: No module named ‘pip‘
- 使用help()输入keywords查看python中定义的关键字
- hls和modelsim进行联合仿真
- 字符串函数rpartition与partition
- 如何选择梯度下降法中的学习速率α(Gradient Descent Learning Rate Alpha)
- springcloud(八):配置中心服务化和高可用
- PAT 1018 锤子剪刀布
- 《打造七星级团队》观后感
- 【codevs3945】 完美拓印