Установите g ++ ubuntu 14.04 Зависит от: g ++ - 4.8 (> = 4.8.2-5 ~), но не будет установлен

9

Я просто набрал:

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.
alecrosic
источник
Каковы результаты / ошибки этих apt-getкоманд?
Даниэль
apt-get update просто обновляет репозиторий ... множество строк вывода, но ошибок нет ... apt-get -f install дает: 0 обновлено, 0 заново установлено, 0 удалено и 44 не обновлено.
алекроз
Отредактируйте свой вопрос и добавьте выводapt-cache policy g++-4.8
AB
Попробуйте принудительно выполнить установку sudo apt-get install g++-4.8и добавьте вывод в свой вопрос. Вы должны увидеть другое сообщение об ошибке. И нам нужно это сообщение, чтобы найти реальную проблему.
AB
И оставьте мне комментарий: « @A.B.Без этого я не получаю уведомления о том, что вы изменили свой вопрос».
AB

Ответы:

9

Проблема в:

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и нажмитеClose

    Если у кого-то есть версия для терминала, то, пожалуйста, дайте мне знать.

    введите описание изображения здесь

  • Reload

    введите описание изображения здесь

  • устанавливать

    sudo apt-get install g++
    

Мой второй выбор, понижение

Хм, я бы сказал, это плохая идея =)

AB
источник
активация обновлений и перезагрузка! благодарю вас.
алекроз 15.10.15
Они уже были проверены для меня, но снятие и повторная проверка их, а затем перезагрузка также работает.
Митч
0

Поскольку исходный код Ubuntu 14.04 слишком старый или недоступен. Поэтому мы должны обновить источник. Это будет решено. Во-первых, мы должны сделать резервную копию исходного файлаsources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

Согласно версии Ubuntu, чтобы добавить новые источники.

  1. Запросите команду версии:

    lsb_release -a
    

    Затем он напечатает информацию, такую ​​как:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
  2. В соответствии с версией выбора источника костюма и добавьте в конец файл /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
    
  3. Обновление источника

    sudo apt-get update
    
  4. Хорошо

    sudo apt-get install g++
    
Джек ма
источник