Установить gcc-8 только на Ubuntu 18.04?

33

Я только что установил Lubuntu 18.04 LTS. Есть два варианта установки gcc: gcc-7и gcc-8. Оба доступны из apt-get installкоробки.

Даже после того, как я установил gcc-8, система все еще собирается устанавливать, gcc-7когда я устанавливаю другие пакеты, такие как build-essential.

Так gcc-8как новее, есть ли способ заставить его установить gcc-8и gcc-8только?

tinlyx
источник
1
Просто не устанавливайте, build-essentialно от других пакетов это напрямую зависит? dpkg-dev g++-8 gcc-8 libc6-dev libc-dev make
Муру
GCC-7 требуется GCC-8. Примечание. Вы можете установить столько версий gcc / g ++, сколько хотите, одновременно. Бионические дополнения: g++-4.8 g++-5 g++-6 g++-8... ... g ++ - 7 / gcc-7 - системный компилятор. Старые версии требуются для создания некоторых старых приложений.
Кнуд Ларсен
@KnudLarsen "gcc-7 требуется gcc-8" что?
ZachB

Ответы:

55

gcc-7и gcc-8будут счастливо жить вместе.

Я бы посоветовал разрешить gcc-7установку для удовлетворения build-essentialи, возможно, других зависимых пакетов, и настроить его gcc-8для установки по умолчанию в gcc.

Используйте update-alternativesдля gccавтоматического перенаправления на gcc-8:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

Это даст вам удобство gcc быть в последней версии, и все же вы сможете вызывать gcc-7или gcc-8напрямую.

Если позже вы захотите изменить версию gcc по умолчанию, запустите sudo update-alternatives --config gcc. Появится приглашение, похожее на это, которое позволит вам выбрать версию для использования:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path            Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-8   800       auto mode
  1            /usr/bin/gcc-7   700       manual mode
  2            /usr/bin/gcc-8   800       manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Более высокий приоритет - тот, который выбирается автоматически update-alternatives.

Вальяно
источник
11

GCC 8 на Ubuntu 16.04

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version

дает 8.1.0 по состоянию на 2018-11. Смотрите также:

GCC 9 на Ubuntu 19.04

sudo apt install gcc-9

https://packages.ubuntu.com/search?keywords=gcc-9

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
1
Это не отвечает на вопрос. Эта информация может иметь отношение к совершенно отдельному вопросу, но на этот вопрос уже есть ответ: askubuntu.com/q/466651/113421 .
Руслан
@Ruslan спасибо за отзыв. Помочь 100x гуглерам важнее, чем помочь 1 ОП ;-)
Сиро Сантилли,