87

Какой самый простой способ установить gcc 4.7.x/4.8.x в системе с CentOS 6.2+? RPM-пакет по умолчанию содержит более старую версию gcc .

8 ответов8

66

Tru Huynh из centos.org создал набор инструментов для разработчиков redhat 1.1 для centos и содержит gcc 4.7.2

Таким образом, вы можете просто использовать его репо и сразу установить gcc.

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

Это скорее всего установит его в /opt/centos/devtoolset-1.1/root/usr/bin/

Затем вы можете указать процессу компиляции использовать gcc 4.7 вместо 4.4 с переменной CC

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++
41

Вот как получить devtoolset-2 (включая gcc 4.8.1)

Это было взято с http://people.centos.org/tru/devtools-2/readme

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

Известные вопросы:

  • неподписанные пакеты
  • CentOS-6 devtoolset-2 нуждается в devtoolset-2-ide, который содержит весь стек Eclipse, но пока не собирает
  • CentOS-6 все связанные с Maven файлы тоже не собраны

Основные изменения от devtools-1.1:

  • /opt/centos больше не используется
  • /opt/rh теперь используется как upstream (как версия SL)
30

Появилась новая версия devtoolset 2.0. Хорошие люди из Cern, работающие над Scientific Linux, создали открытую версию:

Если вы используете CentOS (не Scientific Linux), вам придется импортировать их ключ GPG отсюда, используя:

rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern

Наслаждайтесь!

21
# 1. Install a package with repository for your system:
# RHEL 6: `yum-config-manager --enable rhel-server-rhscl-6-rpmss`
# RHEL 7: `yum-config-manager --enable rhel-server-rhscl-7-rpms`
$ sudo yum install centos-release-scl # On CentOS 6/7+, install package centos-release-scl available in CentOS repository

# 2. Install the collection:
$ sudo yum install devtoolset-3

# 3. Start using software collections:
$ scl enable devtoolset-3 bash

$ sudo yum list devtoolset-3\*
2

Из того, что я вижу из gnu gcc, последняя стабильная версия 4.62. Версию 4.7 можно скачать и скомпилировать, больше информации об установке gcc.

2

ни один из этих ответов не работал для меня.
даже в оболочке devtoolset все еще видел мой gcc 4.4.7.
Мой трюк заключался в следующем:

mv /usr/bin/gcc /usr/bin/gcc.bckup
ln -s /opt/centos/devtoolset-1.1/root/usr/bin/gcc /usr/bin/gcc
1

есть проблема с devtool1.1, поэтому я сделал некоторые изменения - наконец, это сработало для меня: первый запуск

yum clean all

чем:

wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo

Теперь откройте /etc/yum.repos.d/devtools-1.1.repo и измените с:

http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS

(если вы используете x86_64) для:

http://people.centos.org/tru/devtools-1.1/6/x86_64/RPMS/ 

или ((если вы используете x86)

http://people.centos.org/tru/devtools-1.1/6/i386/RPMS/

и, наконец, запустить:

yum install devtoolset-1.1
0

Один из способов добиться этого - получить RPM-пакеты src из репозиториев fedora и перекомпилировать их для вашей целевой системы.
Fedora 17 и более поздние версии предоставляют gcc 4.7

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .