Вопрос или проблема
Мне нужно установить gcc 4.9 на CentOS 6. Я обычно делаю следующее:
yum install -y centos-release-scl
yum install -y devtoolset-3-gcc-c++ make cmake re2c libuuid-devel libxml2-devel zlib-devel
Сегодня я узнал, что теперь доступны только devtoolset-6 и devtoolset-7, все другие версии удалены.
Есть идеи? Я не могу использовать gcc >= 5.
ИЗМЕНЕНИЕ
Как предложил yumNoob, devtoolset можно найти здесь
Поэтому я создал файл репозитория,
[sclo]
name=devtoolset-34
baseurl=http://mirror.centos.org/centos/6/sclo/
gpgcheck=1
enabled=1
И это не сработало с
http://mirror.centos.org/centos/6/sclo/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "Запрашиваемый URL вернул ошибку: 404 Not Found"
Пробую другое зеркало.
Так что baseurl неверный, есть идеи?
ИЗМЕНЕНИЕ: Забыли упомянуть, как установить SCL в первую очередь
Установите конфигурации репозитория
$ yum install centos-release-scl
(устанавливает centos-release-scl и centos-release-scl-rh)
Попробуйте
yum-config-manager --enable centos-sclo-rh-testing
Неочевидно, но http://mirror.centos.org/centos/6/sclo/x86_64/rh/ все еще содержит все версии от devtoolset 3 до 7.
ИЗМЕНЕНИЕ 2:
Выясняется, что даже включение centos-sclo-rh-testing не решает проблему, так как yum пытается установить devtoolset-3-binutils для el7, который требует glibc-2.14…
Ручная загрузка необходимых RPM с http://mirror.centos.org/centos/6/sclo/x86_64/rh/devtoolset-3/ сейчас кажется единственным вариантом.
Ответ или решение
Для установки GCC 4.9 на CentOS 6 в условиях, когда devtoolset-4 был удален из репозиториев, и доступные версии – это только devtoolset-6 и devtoolset-7, вам придется использовать альтернативный способ. Вы правы в том, что установка новой версии компилятора, превышающей 5, вам не подходит. Вот подробный план решения вашей проблемы:
-
Установка необходимых репозиториев:
Сначала необходимо установить репозиторий SCL (Software Collections). Если вы этого ещё не сделали, выполните команду:yum install -y centos-release-scl
-
Активация нужного репозитория:
Проверьте, включен ли репозиторий для devtoolset-3. Если вы не видите нужной версии, активируйте репозиторий с тестовыми сборками:yum-config-manager --enable centos-sclo-rh-testing
-
Проверка доступных пакетов:
После этого попробуйте выполнить команду для проверки доступных пакетов:yum list available | grep devtoolset
Это покажет все доступные версии devtoolset, включая возможные версии devtoolset-3.
-
Установка devtoolset-3:
Если devtoolset-3 доступен, вы можете установить его с помощью следующей команды:yum install -y devtoolset-3-gcc-c++ make cmake re2c libuuid-devel libxml2-devel zlib-devel
-
Если devtoolset-3 не доступен:
Если вы не нашли devtoolset-3 в доступных пакетах, придется вручную загрузить необходимые RPM из каталога:Загрузите необходимые RPM-файлы и установите их вручную с помощью:
yum localinstall название_пакета.rpm
-
Задействуйте devtoolset:
После установки вы можете активировать devtoolset-3, чтобы использовать GCC 4.9:scl enable devtoolset-3 bash
Эта команда создаст новую сессию bash с активированным devtoolset-3, позволяя вам использовать GCC 4.9 и другие утилиты, включенные в набор.
Таким образом, следуя этим шагам, вы сможете установить необходимый вам компилятор на CentOS 6, обойдя проблему с недоступностью devtoolset-4.