Ubuntu 20.04 - версия gcc ниже, чем gcc-7

Недавно я обновил свою версию Ubuntu до последней версии 20.04. Некоторые из моих более ранних проектов (разработанные 16.04) отлично компилировались с версией gcc 5 (gcc-5.4.0).

Версия по умолчанию в Ubuntu 20.04 - gcc-9. Я пытаюсь переключить свою версию gcc на 5. Я просмотрел несколько сообщений, таких как Как я могу собрать и установить gcc-5.4.0 в Ubuntu 18.04? и Как выбрать версия gcc и g ++ по умолчанию? , но факт в том, что пакеты gcc-5 недоступны для версии 20.04 (см. https://packages.ubuntu.com/search?keywords=gcc-5 ).

Как и ожидалось, команда

sudo apt install gcc-5  

не работает. Есть ли способ установить gcc-5 (и gcc-4) в последней версии Ubuntu 20.04? Похоже, мне как-то придется установить пакеты, которые доступны только в более ранних выпусках, таких как 16.04 или 18.04.

1
задан 5 May 2020 в 22:34

1 ответ

Единственное решение, которое сработало для меня:

Ручная установка пакетов .deb

(грустные звуки программиста)

  1. Перейдите к http://old-releases.ubuntu.com/ubuntu/pool/universe/g/
  2. Загрузите все пакеты .deb для нужной версии компилятора gcc, например:
 gpc-2.1-3.4_3.4.6-6ubuntu5_amd64 .deb
cpp-3.4_3.4.6-6ubuntu5_amd64.deb lib32g2c0_3.4.6-6ubuntu5_amd64.deb
g++-3.4_3.4.6-6ubuntu5_amd64.deb libg2c0_3.4.6-6ubuntu5_amd64.deb
g77-3.4_3.4.6-6ubuntu5_amd64.deb libg2c0-dev_3.4.6-6ubuntu5_amd64.deb
gcc-3.4_3.4.6-6ubuntu5_amd64.deb libstdc++6-dbg_3.4.6-6ubuntu5_amd64.deb
gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb libstdc++6-dev_3.4.6-6ubuntu5_amd64.deb
  1. Установите их вручную, выполнив команду, например:
sudo dpkg -i ./gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb
sudo dpkg -i ./cpp-3.4_3.4.6-6ubuntu5_amd64.deb
sudo dpkg -i ./gcc-3.4_3.4.6-6ubuntu5_amd64.deb

и так далее...

Проверьте вывод консоли на ошибки о зависимостях пакетов, чтобы определить порядок установки пакетов.

  • Если вы столкнулись с ошибкой (вероятно, ошибкой) о взаимозависимости пакета "g++..." с пакетом "libstdc++..." и v.v. затем запустите команду установки, чтобы обновить пакет libstdc++ с точным номером версии, например:
 sudo apt-get install libstdc++6
  1. Ура! Использовать установленную версию gcc (g++), например:
g++-3.4 -v

P.S.: если у вас возникают ошибки отсутствия библиотек, попробуйте

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

до сборки

1
ответ дан 21 January 2021 в 08:51

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

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