Cat*_*ree 5 package-management apt dependencies 18.04
最终更新
类似的问题已报告here。
Discourse 公告:在启用 ros-testing 存储库的情况下构建/CI 失败?
更新2
实际上,在我的情况下,ROS Melodic 的安装最终失败了:
Errors were encountered while processing:
/tmp/apt-dpkg-install-lRVV2P/0767-python-catkin-pkg-modules_0.4.22-1_all.deb
/tmp/apt-dpkg-install-lRVV2P/0794-python-rospkg-modules_1.2.8-1_all.deb
/tmp/apt-dpkg-install-lRVV2P/0796-python-rosdistro-modules_0.8.2-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
更多日志:
Selecting previously unselected package python-catkin-pkg-modules.
Preparing to unpack .../0767-python-catkin-pkg-modules_0.4.22-1_all.deb ...
Unpacking python-catkin-pkg-modules (0.4.22-1) ...
dpkg: error processing archive /tmp/apt-dpkg-install-lRVV2P/0767-python-catkin-pkg-modules_0.4.22-1_all.deb (--unpack):
trying to overwrite '/usr/lib/python2.7/dist-packages/catkin_pkg/__init__.py', which is also in package python-catkin-pkg 0.3.9-1
Run Code Online (Sandbox Code Playgroud)
Selecting previously unselected package python-rospkg-modules.
Preparing to unpack .../0794-python-rospkg-modules_1.2.8-1_all.deb ...
Unpacking python-rospkg-modules (1.2.8-1) ...
dpkg: error processing archive /tmp/apt-dpkg-install-lRVV2P/0794-python-rospkg-modules_1.2.8-1_all.deb (--unpack):
trying to overwrite '/usr/lib/python2.7/dist-packages/rospkg/__init__.py', which is also in package python-rospkg 1.1.4-1
Run Code Online (Sandbox Code Playgroud)
Selecting previously unselected package python-rosdistro-modules.
Preparing to unpack .../0796-python-rosdistro-modules_0.8.2-1_all.deb ...
Unpacking python-rosdistro-modules (0.8.2-1) ...
dpkg: error processing archive /tmp/apt-dpkg-install-lRVV2P/0796-python-rosdistro-modules_0.8.2-1_all.deb (--unpack):
trying to overwrite '/usr/lib/python2.7/dist-packages/rosdistro/__init__.py', which is also in package python-rosdistro 0.6.6-1
Run Code Online (Sandbox Code Playgroud)
更新
故障时:
The following packages have unmet dependencies:
python-rosinstall-generator : Depends: python-catkin-pkg (>= 0.1.28) but it is not going to be installed
Depends: python-pkg-resources but it is not going to be installed
Depends: python-rosdistro (>= 0.7.3) but it is not going to be installed
Depends: python-rospkg but it is not going to be installed
Depends: python-yaml but it is not going to be installed
Depends: python2 (< 2.8) but it is not installable
Depends: python2 (>= 2.7) but it is not installable
Depends: python2:any (>= 2.6.6-7~) but it is not installable
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
apt-cache policy python-rosinstall-generator
python-rosinstall-generator:
Installed: (none)
Candidate: 0.1.20-1
Version table:
0.1.20-1 500
500 http://packages.ros.org/ros/ubuntu bionic/main amd64 Packages
500 http://packages.ros.org/ros/ubuntu bionic/main i386 Packages
0.1.13-3 500
500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu bionic/universe i386 Packages
Run Code Online (Sandbox Code Playgroud)
apt-cache policy python3-rosinstall-generator
python3-rosinstall-generator:
Installed: (none)
Candidate: 0.1.20-1
Version table:
0.1.20-1 500
500 http://packages.ros.org/ros/ubuntu bionic/main amd64 Packages
500 http://packages.ros.org/ros/ubuntu bionic/main i386 Packages
0.1.13-3 500
500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu bionic/universe i386 Packages
Run Code Online (Sandbox Code Playgroud)
我python-rosinstall-generator在 Ubuntu 18.04 上安装以下软件包时遇到了一些问题apt:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
python-rosinstall-generator : Depends: python2 (< 2.8) but it is not installable
Depends: python2 (>= 2.7) but it is not installable
Depends: python2:any (>= 2.6.6-7~) but it is not installable
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
由于我使用的是 Docker,因此我有一个旧映像python-rosinstall-generator已成功安装apt install python-rosinstall-generator:
apt-cache depends python-rosinstall-generator
python-rosinstall-generator
Depends: python
Depends: python
Depends: python-catkin-pkg
Depends: python-pkg-resources
Depends: python-rosdistro
Depends: python-rospkg
Depends: python-yaml
Depends: <python:any>
python:i386
python
Depends: <python-argparse>
libpython2.7-stdlib
Conflicts: python3-rosinstall-generator
Run Code Online (Sandbox Code Playgroud)
在apt updateDocker 中完成后,它现在给出:
apt-cache depends python-rosinstall-generator
python-rosinstall-generator
Depends: python-catkin-pkg
Depends: python-pkg-resources
Depends: python-rosdistro
Depends: python-rospkg
Depends: python-yaml
Depends: <python2>
Depends: <python2>
Depends: <python2:any>
Depends: <python-argparse>
libpython2.7-stdlib
Conflicts: python3-rosinstall-generator
Run Code Online (Sandbox Code Playgroud)
并且python2无法安装包:
apt install python2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'python2' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
看起来最近的更新破坏了某些东西,并引入了python2包依赖项。
文件
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --yes \
build-essential \
software-properties-common \
pkg-config \
cmake \
g++
RUN add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"
RUN echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list
RUN apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
RUN apt-get update && apt-get install --yes python-rosinstall-generator
Run Code Online (Sandbox Code Playgroud)
看起来packages.ros.org存储库提供的python3-rosinstall-generator软件包与Ubuntu 18.04 LTS不兼容。
使用没有此类存储库的 Dockerfile 创建容器成功:
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --yes \
build-essential \
software-properties-common \
pkg-config \
cmake \
g++
RUN apt-get update && apt-get install --yes python-rosinstall-generator
Run Code Online (Sandbox Code Playgroud)
ros-melodic-desktop-full但是使用原始 Dockerfile安装成功结束。
| 归档时间: |
|
| 查看次数: |
2648 次 |
| 最近记录: |