Як встановити 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
Мохаммад Шахадат Хоссейн

@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
Rahly

4
зміна символічного посилання - не найкраще, оскільки воно, ймовірно, належить / управляється іншим пакетом, який може бути оновлений. Це краще , щоб активувати його в ваш логін або в загальносистемного сценарії входу з 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міняв свою поточну ГКК на ту, яку встановивdevtoolset-4
WF

74

Оновлення: Встановлення останньої версії 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 /, що може, а може і не випередити вашу початкову установку gcc на PATH
tim18,

1
make -j $(nproc)
Чепе Квестн,

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

6

Ви можете використовувати репозиторій 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файл, щоб мати новіші символи.
лускатий

5

Найкращий підхід для використання 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 тощо


-11

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

Введіть таку команду yum як кореневий користувач:

yum group встановити "Засоби розробки"

АБО

sudo yum group встановити "Засоби розробки"

Якщо вищевказана команда не вдалася, спробуйте:

yum groupinstall "Засоби розробки"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.