Окончательное обновление
Аналогичная проблема была зарегистрирована здесь.
Объявление о дискурсе: Сбои сборки/CI с включенным репозиторием ros-testing?
Update2
На самом деле, установка 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)
Больше журналов:
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
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
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
Update
Когда неисправно:
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.
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
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
У меня есть некоторые проблемы с установкой следующего пакета 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.
Поскольку я использую Docker, у меня есть старый образ, где python-rosinstall-generator
был успешно установлен с apt установить 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
После выполнения apt update
в Docker, он дает теперь:
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
И пакет 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
Похоже, что недавнее обновление что-то сломало и ввело зависимость пакета python2
.
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 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
Похоже, что 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
Но установка ros-melodic- полный рабочий стол
успешно завершается с использованием исходного файла Dockerfile.
Одним из способов решения этой проблемы может быть ее установка с помощью менеджера пакетов pip. Поскольку вы используете python2 для ROS, попробуйте следующее:
sudo apt install python-pip
sudo pip install -U rosdep rosinstall_generator vcstool rosinstall
Это сработало для меня. Надеюсь, это поможет.