GCC 4 установка на Fedora 31

Gcc 4 как установить на fedora 31

Gcc 4 как установить на fedora 31

Fedora 31 поставляется с актуальными сборками GCC, но отдельные проекты требуют применения версии 4.x. Для таких случаев пригодится установка старого компилятора параллельно с системным, без изменения базовых пакетов ОС.

Перед началом стоит уточнить, имеются ли доступные пакеты gcc4 или compat-gcc в репозиториях Fedora 31. Если нужных сборок нет, остаётся вариант компиляции из исходников с указанием собственного префикса установки, что позволяет избежать конфликта бинарных файлов.

Рабочий подход включает настройку отдельных путей, корректное выставление переменных окружения и проверку используемой версии через gcc —version. Такой способ позволяет применять GCC 4 целенаправленно – только для тех задач, где это требуется.

Проверка наличия пакетов gcc4 в репозиториях Fedora 31

Проверка наличия пакетов gcc4 в репозиториях Fedora 31

Для начала стоит выполнить запрос по имени пакета через dnf: dnf search gcc4 или dnf search compat-gcc. Эти запросы показывают, существуют ли версии, совместимые с линейкой 4.x, в стандартных репозиториях Fedora 31.

Если поиск выдаёт только актуальные сборки, можно проверить расширенные источники: fedora-updates, fedora-modular, а также архивные репозитории, которые иногда содержат устаревшие пакеты. Просмотр списка доступных сборок выполняется командой dnf list compat-*.

При отсутствии нужных бинарных пакетов стоит уточнить, доступны ли исходники с тегами gcc4 через dnf reposync или на зеркалах Fedora. Это поможет понять, есть ли возможность установки без компиляции из первичного кода.

Установка gcc4 через dnf с указанием точного пакета

Если нужный пакет найден в репозиториях, установка выполняется через точное имя сборки. Чаще всего используется пакет compat-gcc-44 или аналогичные варианты, зависящие от содержимого зеркал Fedora 31.

Перед установкой стоит вывести полный список доступных файлов:

  • dnf list compat-gcc-*
  • dnf info compat-gcc-44

После уточнения имени выполняется установка:

  1. sudo dnf install compat-gcc-44

Если требуется поддержка C++ из той же линейки, дополнительно проверяется наличие пакета compat-gcc-44-c++ и устанавливается тем же способом. Такой подход позволяет избежать установки лишних зависимостей и точно контролировать состав окружения.

Настройка параллельного использования gcc4 и актуальной версии компилятора

Чтобы применять GCC 4 изолированно, пакет лучше устанавливать в собственный каталог, например /opt/gcc4. При таком размещении системные бинарные файлы не затрагиваются, а вызов нужной версии контролируется через переменные окружения.

После установки задаётся путь к старой версии компилятора:

export PATH=/opt/gcc4/bin:$PATH

Для сборок, требующих GCC 4, применяется локальная настройка окружения внутри скриптов или отдельных терминальных сессий. Это позволяет использовать системный компилятор по умолчанию и переключаться на версию 4.x только при необходимости.

Дополнительно можно создать отдельный профиль в ~/.bashrc или ~/.bash_profile с экспортом путей, а затем активировать его вручную через команду source. Такой подход упрощает контроль над тем, какая версия используется для конкретных задач.

Переключение версии компилятора через alternatives

Для удобного выбора между GCC 4 и системной версией можно зарегистрировать обе сборки в механизме alternatives. Это позволяет переключаться между ними без изменения переменных окружения.

Основная регистрация выполняется вручную, если GCC 4 установлен в нестандартный каталог. Пример структуры для добавления:

Команда Назначение
sudo alternatives —install /usr/bin/gcc gcc /opt/gcc4/bin/gcc 20 Добавление gcc4 в список доступных вариантов
sudo alternatives —install /usr/bin/gcc gcc /usr/bin/gcc 40 Регистрация системного gcc с более высоким приоритетом
sudo alternatives —config gcc Выбор нужной версии компилятора

Такая конфигурация позволяет переключать gcc в нужный момент, не затрагивая другие инструменты. При необходимости аналогичные действия выполняются для g++.

Сборка gcc4 из исходников при отсутствии пакетов в репозиториях

Если нужный пакет отсутствует в репозиториях Fedora 31, GCC 4 можно собрать из исходников. Сборка выполняется в отдельном каталоге, чтобы избежать конфликтов с системной версией.

Необходимые зависимости включают:

  • make
  • gmp-devel
  • mpfr-devel
  • libmpc-devel
  • isl-devel (для поддержки некоторых оптимизаций)

Основные шаги сборки:

  1. Скачать исходники с официального зеркала GNU: wget https://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.gz
  2. Распаковать архив: tar -xzf gcc-4.9.4.tar.gz
  3. Создать отдельный каталог сборки: mkdir gcc-build && cd gcc-build
  4. Запустить конфигурацию с указанием префикса установки: ../gcc-4.9.4/configure —prefix=/opt/gcc4 —enable-languages=c,c++ —disable-multilib
  5. Компиляция: make -j$(nproc)
  6. Установка в указанную директорию: sudo make install

После завершения сборки GCC 4 будет доступен в /opt/gcc4/bin, что позволяет использовать его параллельно с системной версией без конфликтов.

Проверка установленной версии gcc4 и тестовая компиляция

Проверка установленной версии gcc4 и тестовая компиляция

После установки GCC 4 рекомендуется убедиться, что компилятор корректно распознаётся системой. Для проверки версии используется команда: gcc —version или /opt/gcc4/bin/gcc —version, если компилятор установлен в нестандартный каталог.

Для тестовой компиляции создаётся минимальный C-файл, например test.c:

int main() { return 0; }

Компиляция выполняется через:

/opt/gcc4/bin/gcc test.c -o test

Если бинарный файл test создаётся без ошибок, это подтверждает работоспособность GCC 4. При необходимости проверяется совместимость с C++:

/opt/gcc4/bin/g++ test.cpp -o test_cpp

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

Вопрос-ответ:

Почему Fedora 31 не содержит gcc4 в стандартных репозиториях?

Fedora 31 ориентирована на актуальные версии компиляторов, поэтому старые версии GCC 4.x в основных репозиториях отсутствуют. Для установки старого компилятора обычно используют пакеты compat-gcc или сборку из исходников.

Как проверить доступность gcc4 в Fedora 31 перед установкой?

Для проверки наличия пакета выполняют команду dnf search gcc4 или dnf search compat-gcc. Дополнительно можно просмотреть список доступных сборок через dnf list compat-*, чтобы убедиться, что нужная версия присутствует.

Можно ли использовать gcc4 параллельно с более новой версией компилятора?

Да. Для этого GCC 4 устанавливается в отдельный каталог, например /opt/gcc4, и путь к нему добавляется через export PATH=/opt/gcc4/bin:$PATH. Это позволяет использовать старую версию только при необходимости, не заменяя системный компилятор.

Как переключать версию компилятора с помощью alternatives?

После регистрации обеих версий GCC в системе через alternatives можно выбирать активную сборку командой sudo alternatives —config gcc. Для g++ выполняются аналогичные действия, что позволяет управлять версиями без изменения переменных окружения.

Что делать, если нужного пакета gcc4 нет в репозиториях?

В этом случае выполняется сборка компилятора из исходников. Скачивают архив с сайта GNU, распаковывают его, создают отдельный каталог сборки, запускают конфигурацию с указанием —prefix, затем собирают и устанавливают с помощью make. После этого GCC 4 доступен для использования в указанном каталоге.

Как правильно проверить, что GCC 4 установлен и работает на Fedora 31?

После установки GCC 4 необходимо убедиться, что система распознаёт нужную версию. Для этого выполняется команда /opt/gcc4/bin/gcc —version или gcc —version, если путь к компилятору добавлен в PATH. Затем создаётся тестовый файл, например test.c с простым кодом int main() { return 0; }, и компиляция проводится командой /opt/gcc4/bin/gcc test.c -o test. Если бинарный файл создаётся без ошибок, GCC 4 функционирует корректно. Для проверки C++ используется аналогичная команда через g++, что позволяет убедиться в работоспособности всех нужных языковых модулей.

Ссылка на основную публикацию