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?

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.


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


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.