Вопрос или проблема
Мне нужна старая версия GCC на Ubuntu 20.04. Я не уверен, возможно ли вообще установить такие старые версии. Я пробовал несколько команд, но ни одна из них не работает, например:
sudo apt-get install gcc-2.7.2 g++-2.7.2
Может кто-нибудь помочь мне с этим? Возможно ли получить эти версии? И если да, то как это сделать? Есть ли старая версия Ubuntu, которая может иметь эту версию GCC?
Маловероятно, что такую старую версию можно установить нормально.
Но исходный код доступен, так что возможно, что можно запустить его, скомпилировав самостоятельно и/или запустив в виртуальной машине.
В любом случае, это может потребовать некоторой настройки, чтобы что-то подобное заработало.
Обычный подход к этому – установить старую версию Ubuntu или Debian в контейнер и запустить ее в контейнере. Я использую schroot для относительно легкого chroot-контейнера. Некоторые люди также используют для этого Docker.
Вы можете выполнить установку с помощью debootstrap, а для неподдерживаемых версий вам необходимо будет использовать https://old-releases.ubuntu.com/ubuntu/ для выпусков Ubuntu и https://archive.debian.org/debian/ для выпусков Debian. Обратите внимание, что они не получают безопасности поддержки, но если код, который вы запускаете в них – это компилятор/инструментальная цепочка, и он содержится в контейнере, это в основном не имеет значения.
Ответ или решение
Как установить старую версию GCC (2.7.2 или 2.95) на Ubuntu 20.04
Существует несколько способов установить и использовать старые версии компилятора GCC, такие как 2.7.2 или 2.95, на Ubuntu 20.04. Из-за огромного времени, прошедшего с момента выпуска этих версий, их наличие в стандартных репозиториях Ubuntu маловероятно. В этой статье мы рассмотрим шаги, которые помогут вам успешно установить и использовать одну из этих старых версий GCC.
1. Установка устаревшей версии GCC из исходных кодов
Поскольку прямое использование команды sudo apt-get install gcc-2.7.2 g++-2.7.2
не приведет к успеху, рекомендуется скомпилировать необходимые версии из исходного кода.
Шаги для компиляции GCC 2.95.3
-
Установите необходимые зависимости:
sudo apt update sudo apt install build-essential sudo apt install bison flex
-
Загрузите исходный код GCC:
Перейдите по следующей ссылке и загрузите нужный архив:
GCC 2.95.3После загрузки распакуйте архив:
tar -xvf gcc-2.95.3.tar.gz cd gcc-2.95.3
-
Настройте сборку:
Создайте отдельную директорию для сборки:
mkdir build cd build
Запустите команду конфигурации:
../configure --prefix=/usr/local/gcc-2.95.3
-
Соберите и установите:
make sudo make install
-
Настройте пути:
После установки добавьте путь к новому компилятору в переменную PATH. Вставьте следующее в ваш файл
~/.bashrc
:export PATH=/usr/local/gcc-2.95.3/bin:$PATH
Примените изменения:
source ~/.bashrc
2. Использование контейнеров или виртуальных машин
Если сборка из исходников покажется вам слишком сложной, вы можете воспользоваться контейнерами или виртуальными машинами с более старой версией Ubuntu или Debian.
-
Контейнеры с помощью Docker:
- Установите Docker.
- Используйте образ старой версии Ubuntu (например, 12.04), чтобы создать контейнер:
docker run -it ubuntu:12.04 /bin/bash
После этого внутри контейнера вы сможете использовать apt для установки старых версий GCC, которые доступны в репозиториях для этой версии Ubuntu.
-
Использование schroot для создания chroot-окружения:
- Установите schroot:
sudo apt install schroot
- Настройте schroot для работы с устаревшей версией Ubuntu, используя debootstrap и репозитории с устаревшими версиями, например:
old-releases.ubuntu.com.
Важные замечания
-
Имейте в виду, что использование устаревших версий программного обеспечения несет в себе риски безопасности. Всегда старайтесь использовать их в изолированной среде, чтобы минимизировать такие риски.
-
По возможности тестируйте ваш код на современном компиляторе и используйте старые версии GCC только для поддержки специфических задач или для работы с устаревшими проектами.
Следуя этим рекомендациям, вы сможете успешно установить и использовать старую версию GCC на Ubuntu 20.04.