Как установить g ++ 4.9.2 в Cent OS 6.5?

13

Я пытаюсь установить последнюю версию g ++ в Cent OS. Лучшее, что мне удалось, это следующее:

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
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

Но это устанавливает g ++ 4.8.2, а не 4.9.2. Есть ли способ установить 4.9.2?

SpeedCoder
источник

Ответы:

4

Вам придется сделать это по старинке. Получить источники GCC, собрать его вручную.

Есть ли причина, по которой вы против этого? (Я могу думать о некоторых, но если вы не сделаете это тоже, я не хочу добавлять что-то, что может сбить с толку).

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

ПРИМЕЧАНИЕ. Причиной этого является то, что devtools с 4.9 в настоящее время доступен только пользователям Red Hat с действующей лицензией. Подождите немного, и в конце концов я уверен, что 4.9 devtools будут доступны для пользователей CentOS, как, например, 4.8 в настоящее время.

Хари Сундарараджан
источник
спасибо за ответ, похоже, я подожду этого. Не могли бы вы помочь мне и здесь: superuser.com/questions/834915/…
SpeedCoder
28

CentOS 6/7 официально поддерживает это. Вам не нужен сторонний репозиторий. И версия gcc 4.9.2 в репозитории CentOS.

yum install centos-release-scl-rh          
yum install devtoolset-3-gcc devtoolset-3-gcc-c++   

Чтобы использовать обновленные инструменты, запустите новую оболочку с помощью sclкоманды:

scl enable devtoolset-3 bash

Вам также может понадобиться сбросить переменную среды PATH, которая может быть установлена ​​в ~ / .bashrc или другом файле профиля. Если вам нужно изменить его, он должен указывать на/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Больше информации о SCL от CentOS и от Red Hat

Джесси
источник
Это не сработало для меня. После того, как эти 3 шага завершены, казалось бы, успешно, я все еще вижу gcc 4.7.2, когда я делаюgcc -v
BT
Хорошо, в дополнение к этим шагам мне пришлось изменить свой файл .bashrc, чтобы моя переменная среды PATH была установлена /opt/rh/devtoolset-3/root/usr/bin/:$PATHвместо /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Затем после перезапуска сеанса все заработало.
BT
После использования этого решения я вижу, что версия gcc действительно обновлена ​​(с использованием gcc --version), но я все еще вижу файлы заголовков из старой версии. Более того, я не могу найти большинство новых заголовков в каталоге, который я ожидал (/ opt / rh / devtoolset-3 / root / usr / include /). Почему это может произойти и как я могу это решить?
МаМазав
Чтобы этот ответ выдержал испытание временем, добавьте, yum search devtoolset | grep gcc-c++чтобы показать правильное число вместо 3, как в ответе
Waslap
14

Я использую репозиторий Scientific Linux Cern 6 для установки gcc 4.9 и g ++ 4.9 на мои системы CentOS 6.5 и CentOS 6.6. Не устанавливается g ++ 4.9.2. Вместо этого он устанавливает g ++ 4.9.1, что достаточно для моих нужд.

Вот команды, которые я использую для его установки.

cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++

Как сказал Майкл в своем комментарии к этому сообщению, чтобы фактически использовать версию gcc, которую он устанавливает, запустите новую оболочку с помощью следующей команды.

scl enable devtoolset-3 bash
Сусам Пал
источник
1
Чтобы на самом деле использовать версию gcc, которую он устанавливает, запустите новую оболочку с использованиемscl enable devtoolset-3 bash
Michael
@ Майкл Спасибо, что упомянули об этом. Я включил ваш комментарий в свой ответ сейчас, чтобы сделать его более полезным.
Сусам Пал
Также не работает для меня. То же, что и для ответа Джесси
BT