Установите g++ ubuntu 14.04 Зависит от: g++-4.8 (>= 4.8.2-5~), но не будет установлен
Я просто набрал:
sudo apt-get install g++
и получил:
The following packages have unmet dependencies:
g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Я пробовал также согласно предложениям на других форумах:
sudo apt-get update
а также
sudo apt-get -f install
Никто не решил мою проблему. Пожалуйста, помогите, если вы знаете ответ.
РЕДАКТИРОВАТЬ:
Согласно предложению, помещенному в комментарии, я попытался:
sudo apt-cache policy g++-4.8
и получил следующий вывод:
g++-4.8:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
Пытаясь:
sudo apt-get install g++-4.8
Я получил:
The following packages have unmet dependencies:
g++-4.8 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Depends: gcc-4.8 (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Depends: libstdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
2 ответа
Проблема в:
libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Зачем? Вот почему:
libstdc++-4.8-dev
в основных репозиториях зависит отlibstdc++-4.8-dev=4.8.2-19ubuntu1
libstdc++-4.8-dev
в репозитории обновлений зависит отlibstdc++-4.8-dev=4.8.4-2ubuntu1~14.04
, который установлен в вашей системе
Решение?
Мой первый выбор - снова включить репозиторий обновлений:
Откройте Software & Updates и откройте вкладку Updates
Выбрать
trusty-updates
а такжеtrusty-security
и нажмите ЗакрытьЕсли у кого-то есть версия для терминала, то, пожалуйста, дайте мне знать.
перезагружать
устанавливать
sudo apt-get install g++
Мой второй выбор, понижение
Хм, я бы сказал, это плохая идея =)
Поскольку исходный код Ubuntu 14.04 слишком старый или недоступен. Поэтому мы должны обновить источник. Это будет решено. Во-первых, мы должны сделать резервную копию исходного файла sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
Согласно версии Ubuntu, чтобы добавить новые источники.
Запросите команду версии:
lsb_release -a
Затем он напечатает информацию, такую как:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty
В соответствии с версией выбора источника костюма и добавьте в конец файл /etc/apt/sources.list.
http://wiki.ubuntu.org.cn/Template:14.04source,
Ubuntu 14.04 источник:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
Обновление источника
sudo apt-get update
Хорошо
sudo apt-get install g++