Встановити 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.

Які вихідні / помилки цих apt-getкоманд?
Даніель

apt-get update просто оновлює сховище ... багато вихідних рядків, але немає помилок ... apt-get -f install дає: 0 оновлених, 0 знову встановлених, 0 для видалення та 44 не оновлених.
alecrosic

Відредагуйте своє запитання та додайте результат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++
    

Мій другий вибір, пониження рівня

Хм, я б сказав, це погана ідея =)


що дозволяє оновити та перезавантажити! Дякую тобі.
alecrosic

Вони вже були перевірені на мене, але зніміть і повторно перевірити їх, а потім перезавантажити також працює.
Мітч

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++
    
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.