Как установить gcc 5.3 с yum на CentOS 7.2?


94

Я использую CentOS 7.2

Когда я использую yum groupinstall "Development Tools", версия gcc - 4.8.5, например:

введите описание изображения здесь

Я хочу установить gcc 5.3

Как к этому подойти yum?


следуйте этому руководству vultr.com/docs/how-to-install-gcc-on-centos-6
Mohammad Shahadat Hossain

@MohammadShahadatHossain Есть ли yumгде-нибудь ресурс?
солнце

Я не уверен, но в этом случае вы можете использовать ресурс RPM отсюда. rpmfind.net/linux/rpm2html/search.php?query=gcc
Мохаммад Шахадат Хоссейн,

devtoolset теперь предоставляет 5.3.1 - см. мой ответ ниже, чтобы узнать о командах, чтобы включить и установить его с помощью yum.
tesch1

Ответы:


184

Обновление:
часто людям нужна самая последняя версия gcc, а devtoolset постоянно обновляется, поэтому, возможно, вам нужен devtoolset-N, где N = {4,5,6,7 ...}, проверьте yum для последний доступный в вашей системе). Обновлены cmds ниже для N = 7.

В качестве примера есть пакет для gcc-7.2.1 для devtoolset-7. Сначала вам нужно включить коллекции программного обеспечения , затем они будут доступны в devtoolset-7:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version

2
версия gcc в devtoolset тем временем была
повышена

4
Не только это, но вы также можете установить devtoolset-6, чтобы получить 6.2.1
Рахли

5
изменение символической ссылки - не лучший вариант, поскольку она, вероятно, принадлежит / управляется другим пакетом, который может быть обновлен. Это лучше , чтобы активировать его в ваш логин или в общесистемного сценарии входа с scl enable devtoolset-6 bashили . /opt/rh/devtoolset-6/bin/enable обновленной ссылки на программные инструменты Docs
tesch1

1
Запуск также yum install devtoolset-4-binutilsможет быть полезен для получения полной цепочки инструментов GCC.
scrutari

5
Раньше я source scl_source enable devtoolset-4переключал свой текущий gcc на тот, который установленdevtoolset-4
WF

75

Обновление: установка последней версии gcc 9: ( gcc 9.3.0 ) - выпущена 12 марта 2020 г . :

Тот же метод можно применить к gcc 10 ( gcc 10.1.0 ) - выпущен 7 мая 2020 г.

Загрузите файл: gcc-9.3.0.tar.gz или gcc-10.1.0.tar.gz

Скомпилируйте и установите:

//required libraries: (some may already have been installed)
dnf install libmpc-devel mpfr-devel gmp-devel

//if dnf install libmpc-devel is not working try:
dnf --enablerepo=PowerTools install libmpc-devel

//install zlib
dnf install zlib-devel*

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around an hour or more to finish
              (depending on your cpu speed)

make install

Протестировано под CentOS 7.8.2003 для gcc 9.3 и gcc 10.1

Протестировано в CentOS 8.1.1911 для gcc 10.1 (может потребоваться больше времени для компиляции)

Результаты: gcc / g ++ 9.3.0 / 10.1.0

введите описание изображения здесь введите описание изображения здесь

Установка gcc 7.4 (gcc 7.4.0) - выпущена 6 декабря 2018 г . :

Скачать файл: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Скомпилируйте и установите:

//required libraries:
yum install libmpc-devel mpfr-devel gmp-devel

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around 50 minutes or less to finish with 8 threads
              (depending on your cpu speed)


make install

Результат:

введите описание изображения здесь

Примечания:

1. Этот ответ о переполнении стека поможет узнать, как проверить загруженный исходный файл.

2. Используйте параметр --prefixдля установки gcc в другой каталог, отличный от каталога по умолчанию. Каталог установки верхнего уровня по умолчанию - / usr / local. Прочтите о вариантах установки gcc


Зачем загружать с ftp.mirrorservice.org, а не с ftp.gnu.org? Вам также следует скачать и проверить соответствующий .sigфайл (подпись pgp).
Кейт Томпсон

Конфигурация, показанная без --prefix, будет установлена ​​в / usr / local /, что может или не может
предшествовать

1
make -j $(nproc)
Chepe Questn

2
На компиляцию у меня ушло более 4 часов и более 6 ГБ на жестком диске.
iDevFS

Как подсказал tim18, безопасно ли работать make && make installбез него --prefix? Если сделать так, все будет установлено в /usr/не даже /usr/local, проверьте config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

7

Вы можете использовать репозиторий centos-sclo-rh-testing для установки GCC v7, не компилируя его навсегда, также включите V7 по умолчанию и позволите при необходимости переключаться между разными версиями.

sudo yum install -y yum-utils centos-release-scl;
sudo yum -y --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc;
echo "source /opt/rh/devtoolset-7/enable" | sudo tee -a /etc/profile;
source /opt/rh/devtoolset-7/enable;
gcc --version;

Хотя этот код может ответить на вопрос, лучше объяснить, как решить проблему, и предоставить код в качестве примера или ссылки. Ответы только с кодом могут сбивать с толку и не иметь контекста.
Роберт Колумбия

К сожалению, это решение не обновляет /usr/lib64/libstdc++.soфайл для добавления новых символов.
чешуйчатый

6

Наилучший подход к использованию yum и обновлению вашего набора инструментов разработчика - использование репозитория CentOS SCLo RH Testing.

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

Также доступно множество дополнительных пакетов, чтобы увидеть их все

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

Вы можете использовать этот метод для установки любой версии инструмента разработчика, просто замените 7 на желаемую версию. devtoolset-6-gcc, devtoolset-5-gcc и т. д.


-11

Команда для установки GCC и средств разработки на сервере CentOS / RHEL 7

Введите следующую команду yum от имени пользователя root:

yum group install "Средства разработки"

ИЛИ

sudo yum group установить "Средства разработки"

Если вышеуказанная команда не удалась, попробуйте:

yum groupinstall "Инструменты разработки"

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.