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:
Не только это, но вы также можете установить 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 г.
//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
//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
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 по умолчанию и позволите при необходимости переключаться между разными версиями.
Хотя этот код может ответить на вопрос, лучше объяснить, как решить проблему, и предоставить код в качестве примера или ссылки. Ответы только с кодом могут сбивать с толку и не иметь контекста.
Роберт Колумбия
К сожалению, это решение не обновляет /usr/lib64/libstdc++.soфайл для добавления новых символов.
чешуйчатый
6
Наилучший подход к использованию yum и обновлению вашего набора инструментов разработчика - использование репозитория CentOS SCLo RH Testing.
Также доступно множество дополнительных пакетов, чтобы увидеть их все
yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*
Вы можете использовать этот метод для установки любой версии инструмента разработчика, просто замените 7 на желаемую версию. devtoolset-6-gcc, devtoolset-5-gcc и т. д.
yum
где-нибудь ресурс?Ответы:
Обновление:
часто людям нужна самая последняя версия 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
источник
scl enable devtoolset-6 bash
или. /opt/rh/devtoolset-6/bin/enable
обновленной ссылки на программные инструменты Docsyum install devtoolset-4-binutils
может быть полезен для получения полной цепочки инструментов GCC.source scl_source enable devtoolset-4
переключал свой текущий gcc на тот, который установленdevtoolset-4
Обновление: установка последней версии 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источник
.sig
файл (подпись pgp).make -j $(nproc)
make && make install
без него--prefix
? Если сделать так, все будет установлено в/usr/
не даже/usr/local
, проверьтеconfig.log
:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Вы можете использовать репозиторий 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
файл для добавления новых символов.Наилучший подход к использованию 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 и т. д.
источник
Команда для установки GCC и средств разработки на сервере CentOS / RHEL 7
Введите следующую команду yum от имени пользователя root:
yum group install "Средства разработки"
ИЛИ
sudo yum group установить "Средства разработки"
Если вышеуказанная команда не удалась, попробуйте:
yum groupinstall "Инструменты разработки"
источник