Я використовую CentOS 7.2
Коли я використовую yum groupinstall "Development Tools"
, версія gcc - 4.8.5, ось так:
Я хотів би встановити gcc 5.3
Як підійти до цього yum
?
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
оновленої посилання на програмні інструменти Docs
yum install devtoolset-4-binutils
може бути корисним для отримання повного набору інструментів GCC.
source scl_source enable devtoolset-4
міняв свою поточну ГКК на ту, яку встановив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 та оновлення вашого devtoolset - це використання сховища тестування CentOS SCLo RH.
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 як кореневий користувач:
АБО
Якщо вищевказана команда не вдалася, спробуйте: