Неудовлетворенные зависимости для полного рабочего стола ros
ошибка
Я пытаюсь установить полную версию ros desktop на свой компьютер, выполнив следующие действия. Все в порядке до шага 1.4, точно
sudo apt-get install ros-kinetic-desktop-full
Где мне дают следующую ошибку:
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:
ros-kinetic-desktop-full : Depends: ros-kinetic-desktop but it is not going to be installed
Depends: ros-kinetic-simulators but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Дерево зависимостей
Я сообщу здесь все дерево зависимостей, где я использовал команду sudo apt-get install
для всех зависимостей слева от каждого элемента списка. Сначала я проследил зависимость симуляторов:
- ros-kinetic-desktop-full: Зависит от: ro-kinetic-simulator
- ros-kinetic-simators: Зависит от: ros-kinetic-rqt-common-plugins
- ros-kinetic-rqt-common-plugins: Зависит от: ros-kinetic-rqt-web
- ros-kinetic-rqt-web: Зависит от: ros-kinetic-webkit-зависимость
- ros-kinetic-webkit-dependency: Зависит от: python-pyqt5.qtwebkit
- python-pyqt5.qtwebkit: Зависит от: python-pyqt5 (= 5.8.2+dfsg-1+16.04+xenial+build19), но 5.8.2+dfsg-1+16.04+xenial+build21 должен быть установлен E: невозможно исправить проблемы, вы держали сломанные пакеты.
Затем я следовал за зависимостью рабочего стола:
- ros-kinetic-desktop: Зависит от: ros-kinetic-viz
- ros-kinetic-viz: Зависит от: ros-kinetic-rqt-common-plugins
- ros-kinetic-rqt-common-plugins: Зависит от: ros-kinetic-rqt-web
- ros-kinetic-rqt-web: Зависит от: ros-kinetic-webkit-зависимость
- ros-kinetic-webkit-dependency: Зависит от: python-pyqt5.qtwebkit
- python-pyqt5.qtwebkit: Зависит от: python-pyqt5 (= 5.8.2+dfsg-1+16.04+xenial+build19), но 5.8.2+dfsg-1+16.04+xenial+build21 должен быть установлен E: невозможно исправить проблемы, вы держали сломанные пакеты.
Как вы можете видеть, оба указывают на один и тот же пакет. Но при использовании
sudo apt-get install python-pyqt5
я получил
python-pyqt5 уже является самой новой версией (5.8.2+dfsg-1+16.04+xenial+build21).
Что я пробовал
Вручную добавив следующую deb в /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
Установка python-pyqt5 с
pip3 install pyqt5
Использование обновления, обновления, dist-update несколько раз с apt
Установка
ros-kinetic-ros-base
, который не дал мне ошибок зависимостейС помощью
sudo apt-get install python-pyqt5=5.8.2+dfsg-1+16.04+xenial+build19
Дает следующий вывод перед принятием установки:Reading package lists... Done Building dependency tree Reading state information... Done Starting pkgProblemResolver with broken count: 1 Starting 2 pkgProblemResolver with broken count: 1 Investigating (0) python-pyqt5.qtsvg [ amd64 ] < 5.8.2+dfsg-1+16.04+xenial+build21 > ( python ) Broken python-pyqt5.qtsvg:amd64 Depends on python-pyqt5 [ amd64 ] < 5.8.2+dfsg-1+16.04+xenial+build21 -> 5.8.2+dfsg-1+16.04+xenial+build19 | 5.8.2+dfsg-1+16.04+xenial+build21 > ( python )(= 5.8.2+dfsg-1+16.04+xenial+build21) Considering python-pyqt5:amd64 10002 as a solution to python-pyqt5.qtsvg:amd64 1 Removing python-pyqt5.qtsvg:amd64 rather than change python-pyqt5:amd64 Investigating (0) ros-kinetic-python-qt-binding [ amd64 ] < 0.3.3-0xenial-20171104-175930-0800 > ( misc ) Broken ros-kinetic-python-qt-binding:amd64 Depends on python-pyqt5.qtsvg [ amd64 ] < 5.8.2+dfsg-1+16.04+xenial+build21 > ( python ) Considering python-pyqt5.qtsvg:amd64 1 as a solution to ros-kinetic-python-qt-binding:amd64 0 Removing ros-kinetic-python-qt-binding:amd64 rather than change python-pyqt5.qtsvg:amd64 Investigating (0) ros-kinetic-rviz [ amd64 ] < 1.12.15-0xenial-20180105-172609-0800 > ( misc ) Broken ros-kinetic-rviz:amd64 Depends on ros-kinetic-python-qt-binding [ amd64 ] < 0.3.3-0xenial-20171104-175930-0800 > ( misc ) Considering ros-kinetic-python-qt-binding:amd64 0 as a solution to ros-kinetic-rviz:amd64 -1 Removing ros-kinetic-rviz:amd64 rather than change ros-kinetic-python-qt-binding:amd64 Done Suggested packages: python-pyqt5-dbg The following packages will be REMOVED: python-pyqt5.qtsvg ros-kinetic-python-qt-binding ros-kinetic-rviz The following packages will be DOWNGRADED: python-pyqt5 0 upgraded, 0 newly installed, 1 downgraded, 3 to remove and 0 not upgraded. Need to get 2.143 kB of archives
Больше информации
У меня установлена KDE neon LTS 5.8 со следующими характеристиками:
- Плазменная версия KDE: 5.8.8
- Версия KDE Frameworks: 5.42.0
- Версия Qt: 5.7.1
- Версия ядра: 4.13.0-29-generic
- Тип ОС: 64-битная
Здесь я перечислю каждую команду, которая, по моему мнению, может быть полезной, с последующим выводом:
$ cat /etc/apt/sources.list.d/ros-latest.list
deb http://packages.ros.org/ros/ubuntu xenial main
$ uname -a
Linux Ublion16 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ apt-cache policy python-pyqt5
python-pyqt5:
Installed: 5.8.2+dfsg-1+16.04+xenial+build21
Candidate: 5.8.2+dfsg-1+16.04+xenial+build21
Version table:
*** 5.8.2+dfsg-1+16.04+xenial+build21 500
500 http://archive.neon.kde.org/user/lts xenial/main amd64 Packages
100 /var/lib/dpkg/status
5.8.2+dfsg-1+16.04+xenial+build19 500
500 http://archive.neon.kde.org/user/lts xenial/main amd64 Packages
5.8.2+dfsg-1+16.04+xenial+build13 500
500 http://archive.neon.kde.org/user/lts xenial/main amd64 Packages
5.7+dfsg-3+16.04+build8 500
500 http://archive.neon.kde.org/user/lts xenial/main amd64 Packages
5.5.1+dfsg-3ubuntu4 500
500 http://it.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
500 http://mirrors.ustc.edu.cn/ubuntu xenial/universe amd64 Packages
2 ответа
Я только что столкнулся с проблемой, очень похожей на вашу, но я решил ее, добавив
deb http://cz.archive.ubuntu.com/ubuntu xenial main universe
руководителю /etc/apt/sources.list. Обратите внимание на "xenial" слово в этом предложении, оно должно совпадать с вашей версией Ubuntu. Если это не сработает, я советую сначала удалить /etc/apt/sources.list.d/ros-latest.list и повторить попытку.
Добавьте следующие источники пакетов в /etc/apt/sources.list.
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
Теперь выполните следующие действия из 1.2 в этой ссылке