Как обновить gcc-5 до gcc-7 в Ubuntu 16.04?

Это следующий вопрос: как установить gcc-7 или clang 4.0?. [! ​​d0]

После ответов в этом случае я смог установить gcc-7.2 с помощью:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install -y gcc-7

Однако после установки команда gcc / g++ по-прежнему по умолчанию имеет значение 5.4.0

gcc --version gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

Возможно ли / безопасно иметь gcc-7 по умолчанию и удалить старые файлы gcc-5.x?

Обратите внимание, что, в отличие от указанного дубликата, я хочу удалить / заменить gcc-5.x вместо установки символической ссылки .

1
задан 11 November 2017 в 09:30

3 ответа

Чтобы ответить на мой собственный вопрос после долгих проб и ошибок, кажется, небезопасно удалять / заменять старый gcc (gcc-5), потому что он сломает множество зависимостей в степени уничтожения всей цепочки инструментов.

Например, при попытке удалить / заменить gcc-5, как сказано в комментариях с помощью

Запустить update-альтернативы для установки gcc-7 в качестве версии gcc по умолчанию и типа sudo dpkg -r gcc-5

Это порождает ошибку:

dpkg: dependency problems prevent removal of gcc-5:
 g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
 g++ depends on gcc-5 (>= 5.3.1-3~).
 gcc depends on gcc-5 (>= 5.3.1-3~).
 gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).

При добавлении этих зависимостей в список элементов sudo dpkg -r необходимо удалить все большее количество пакетов , например

 ...
 r-base-dev depends on g++.
 build-essential depends on g++ (>= 4:5.2).

Я не пытался найти самый большой набор пакетов, которые будут удалены, как описано в разделе Как удалить пакет .deb? , Но довольно ясно, что большинство полезных пакетов в Ubuntu будут упущены к тому времени.

3
ответ дан 22 May 2018 в 16:20

Чтобы ответить на мой собственный вопрос после долгих проб и ошибок, кажется, небезопасно удалять / заменять старый gcc (gcc-5), потому что он сломает множество зависимостей в степени уничтожения всей цепочки инструментов.

Например, при попытке удалить / заменить gcc-5, как сказано в комментариях с помощью

Запустить update-альтернативы для установки gcc-7 в качестве версии gcc по умолчанию и типа sudo dpkg -r gcc-5

Это порождает ошибку:

dpkg: dependency problems prevent removal of gcc-5: g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04). g++ depends on gcc-5 (>= 5.3.1-3~). gcc depends on gcc-5 (>= 5.3.1-3~). gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).

При добавлении этих зависимостей в список элементов sudo dpkg -r необходимо удалить все большее количество пакетов , например

... r-base-dev depends on g++. build-essential depends on g++ (>= 4:5.2).

Я не пытался найти самый большой набор пакетов, которые будут удалены, как описано в разделе Как удалить пакет .deb? , Но довольно ясно, что большинство полезных пакетов в Ubuntu будут упущены к тому времени.

3
ответ дан 18 July 2018 в 03:29

Чтобы ответить на мой собственный вопрос после долгих проб и ошибок, кажется, небезопасно удалять / заменять старый gcc (gcc-5), потому что он сломает множество зависимостей в степени уничтожения всей цепочки инструментов.

Например, при попытке удалить / заменить gcc-5, как сказано в комментариях с помощью

Запустить update-альтернативы для установки gcc-7 в качестве версии gcc по умолчанию и типа sudo dpkg -r gcc-5

Это порождает ошибку:

dpkg: dependency problems prevent removal of gcc-5: g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04). g++ depends on gcc-5 (>= 5.3.1-3~). gcc depends on gcc-5 (>= 5.3.1-3~). gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).

При добавлении этих зависимостей в список элементов sudo dpkg -r необходимо удалить все большее количество пакетов , например

... r-base-dev depends on g++. build-essential depends on g++ (>= 4:5.2).

Я не пытался найти самый большой набор пакетов, которые будут удалены, как описано в разделе Как удалить пакет .deb? , Но довольно ясно, что большинство полезных пакетов в Ubuntu будут упущены к тому времени.

3
ответ дан 24 July 2018 в 17:51

Другие вопросы по тегам:

Похожие вопросы: