Jak zainstalować g ++ 4.9.2 w Cent OS 6.5?

13

Próbuję zainstalować najnowszą wersję g ++ w Cent OS. Najlepsze, którymi zarządzałem, to:

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

Ale to instaluje g ++ 4.8.2, a nie 4.9.2. Czy istnieje sposób na zainstalowanie 4.9.2?

SpeedCoder
źródło

Odpowiedzi:

4

Będziesz musiał to zrobić w staromodny sposób. Zdobądź źródła GCC, zbuduj je ręcznie.

Jest jakiś powód, dla którego jesteś temu przeciwny? (Mogę wymyślić kilka, ale chyba że Ty też nie zrobisz, nie chcę dodawać niczego, co może być mylące).

Jeśli wahasz się przed kompilacją ze źródeł, prawdopodobnie zapewnię kilka kroków.

UWAGA: Powodem tego są devtools z wersją 4.9, które są obecnie dostępne tylko dla użytkowników Red Hat z ważną licencją. Poczekaj chwilę, a ostatecznie jestem pewien, że 4,9 devtools zostanie udostępnionych użytkownikom CentOS, tak jak obecnie 4,8.

Hari Sundararajan
źródło
dzięki za odpowiedź, wygląda na to, że poczekam na to. Czy możesz mi pomóc również tutaj: superuser.com/questions/834915/…
SpeedCoder
28

CentOS 6/7 oficjalnie to popiera. Nie potrzebujesz repozytorium strony trzeciej. Wersja gcc to 4.9.2 w repozytorium CentOS.

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

Aby użyć zaktualizowanych narzędzi, uruchom nową powłokę za pomocą sclpolecenia:

scl enable devtoolset-3 bash

Może być również konieczne zresetowanie zmiennej środowiskowej PATH, którą można ustawić w ~ / .bashrc lub innym pliku profilu. Jeśli musisz to zmienić, powinno to wskazywać/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Więcej informacji o SCL z CentOS i Red Hat

Jesse
źródło
To nie działało dla mnie. Po tych 3 krokach, które wydają się udane, nadal widzę gcc 4.7.2, kiedy to robięgcc -v
BT
Ok, oprócz tych kroków musiałem zmienić plik .bashrc, aby zmienna środowiskowa PATH była ustawiona na /opt/rh/devtoolset-3/root/usr/bin/:$PATHzamiast /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Następnie po ponownym uruchomieniu sesji zadziałało.
BT
Po użyciu tego rozwiązania widzę, że wersja gcc naprawdę się zaktualizowała (używając gcc --version), ale nadal widzę pliki nagłówkowe ze starej wersji. Co więcej, nie mogę znaleźć większości nowszych nagłówków w katalogu, w którym się spodziewałem (/ opt / rh / devtoolset-3 / root / usr / include /). Dlaczego tak się dzieje i jak mogę to rozwiązać?
MaMazav,
Aby ta odpowiedź yum search devtoolset | grep gcc-c++
przetrwała
14

Używam repozytorium Scientific Linux Cern 6 do instalacji gcc 4.9 i g ++ 4.9 na moich systemach CentOS 6.5 i CentOS 6.6. Nie instaluje g ++ 4.9.2. Zamiast tego instaluje g ++ 4.9.1, co jest wystarczające dla moich potrzeb.

Oto polecenia, których używam do instalacji.

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++

Jak powiedział Michael w swoim komentarzu do tego postu, aby faktycznie użyć wersji gcc, która się instaluje, uruchom nową powłokę za pomocą następującego polecenia.

scl enable devtoolset-3 bash
Susam Pal
źródło
1
Aby faktycznie użyć zainstalowanej wersji gcc, uruchom nową powłokę używającscl enable devtoolset-3 bash
Michael
@Michael Dziękujemy za wzmiankę o tym. Uwzględniłem twój komentarz w mojej odpowiedzi, aby odpowiedź była bardziej pomocna.
Susam Pal
Też nie działało dla mnie. Tak samo jak w przypadku odpowiedzi Jessego
BT