devtoolset udostępnia teraz 5.3.1 - zobacz moją odpowiedź poniżej na polecenia włączania i instalowania go za pomocą yum.
tesch1
Odpowiedzi:
184
Aktualizacja:
Często ludzie chcą najnowszej wersji gcc, a devtoolset jest aktualizowany, więc może chcesz devtoolset-N, gdzie N = {4,5,6,7 ...}, sprawdź yum dla najnowszy dostępny w Twoim systemie). Zaktualizowano poniższe cmds dla N = 7.
Przykładem jest pakiet dla gcc-7.2.1 dla devtoolset-7. Najpierw musisz włączyć kolekcje oprogramowania , a następnie jest dostępne w devtoolset-7:
Nie tylko to, ale możesz zainstalować devtoolset-6, aby uzyskać 6.2.1
Rahly
5
zmiana dowiązania symbolicznego nie jest najlepszą rzeczą do zrobienia, ponieważ prawdopodobnie jest on własnością / jest zarządzany przez inny pakiet, który może zostać zaktualizowany. Lepiej aktywować go za pomocą swojego loginu lub w ogólnosystemowym skrypcie logowania z scl enable devtoolset-6 bashlub . /opt/rh/devtoolset-6/bin/enablezaktualizowanym linkiem do dokumentacji narzędzi programowych
tesch1
1
Uruchomienie yum install devtoolset-4-binutilsmoże być również pomocne w uzyskaniu pełnego zestawu narzędzi GCC.
scrutari
5
Kiedyś source scl_source enable devtoolset-4przełączałem mój obecny gcc na ten zainstalowany przezdevtoolset-4
WF
75
Aktualizacja: instalowanie najnowszej wersji gcc 9: ( gcc 9.3.0 ) - wydana 12 marca 2020 r . :
Tę samą metodę można zastosować do gcc 10 ( gcc 10.1.0 ) - wydanego 7 maja 2020 r
//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
//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
2. Użyj opcji, --prefixaby zainstalować gcc w innym katalogu niż domyślny. Katalog instalacyjny najwyższego poziomu domyślnie to / usr / local. Przeczytaj o opcjach instalacji gcc
Po co pobierać z ftp.mirrorservice.org zamiast ftp.gnu.org? Powinieneś także pobrać i zweryfikować odpowiedni .sigplik (podpis pgp).
Keith Thompson
Konfiguracja, jak pokazano bez --prefix, zostanie zainstalowana w / usr / local /, która może, ale nie
musi,
1
make -j $(nproc)
Chepe Questn
2
Kompilacja zajęła mi ponad 4 godziny i ponad 6 GB miejsca na dysku twardym.
iDevFS,
Jak sugerował tim18, czy można bezpiecznie biegać make && make installbez --prefix? Jeśli to zrobić, wszystko jest zainstalowane na /usr/nie nawet /usr/localsprawdzić config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor
7
Możesz użyć repozytorium centos-sclo-rh-testing, aby zainstalować GCC v7 bez konieczności kompilowania go na zawsze, a także domyślnie włączyć V7 i przełączać się między różnymi wersjami w razie potrzeby.
Chociaż ten kod może odpowiedzieć na pytanie, lepiej jest wyjaśnić, jak rozwiązać problem i podać kod jako przykład lub odniesienie. Odpowiedzi zawierające tylko kod mogą być mylące i pozbawione kontekstu.
Robert Columbia
Niestety to rozwiązanie nie aktualizuje /usr/lib64/libstdc++.sopliku tak, aby miał nowsze symbole.
łuskowaty
6
Najlepszym podejściem do korzystania z yum i aktualizacji devtoolset jest wykorzystanie repozytorium CentOS SCLo RH Testing.
Dostępnych jest również wiele dodatkowych pakietów, aby zobaczyć je wszystkie
yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*
Możesz użyć tej metody, aby zainstalować dowolną wersję narzędzia deweloperskiego, po prostu zamień 7 na żądaną wersję. devtoolset-6-gcc, devtoolset-5-gcc itp.
yum
gdziekolwiek jest zasób?Odpowiedzi:
Aktualizacja:
Często ludzie chcą najnowszej wersji gcc, a devtoolset jest aktualizowany, więc może chcesz devtoolset-N, gdzie N = {4,5,6,7 ...}, sprawdź yum dla najnowszy dostępny w Twoim systemie). Zaktualizowano poniższe cmds dla N = 7.
Przykładem jest pakiet dla gcc-7.2.1 dla devtoolset-7. Najpierw musisz włączyć kolekcje oprogramowania , a następnie jest dostępne w devtoolset-7:
sudo yum install centos-release-scl sudo yum install devtoolset-7-gcc* scl enable devtoolset-7 bash which gcc gcc --version
źródło
scl enable devtoolset-6 bash
lub. /opt/rh/devtoolset-6/bin/enable
zaktualizowanym linkiem do dokumentacji narzędzi programowychyum install devtoolset-4-binutils
może być również pomocne w uzyskaniu pełnego zestawu narzędzi GCC.source scl_source enable devtoolset-4
przełączałem mój obecny gcc na ten zainstalowany przezdevtoolset-4
Aktualizacja: instalowanie najnowszej wersji gcc 9: ( gcc 9.3.0 ) - wydana 12 marca 2020 r . :
Tę samą metodę można zastosować do gcc 10 ( gcc 10.1.0 ) - wydanego 7 maja 2020 r
Pobierz plik: gcc-9.3.0.tar.gz lub gcc-10.1.0.tar.gz
Skompiluj i zainstaluj:
//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
Testowane pod CentOS 7.8.2003 dla gcc 9.3 i gcc 10.1
Przetestowano pod CentOS 8.1.1911 dla gcc 10.1 (kompilacja może zająć więcej czasu)
Wyniki: gcc / g ++ 9.3.0 / 10.1.0
Instalowanie gcc 7.4 (gcc 7.4.0) - wydany 6 grudnia 2018 r . :
Pobierz plik: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz
Skompiluj i zainstaluj:
//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
Wynik:
Uwagi:
1. Ta odpowiedź Stack Overflow pomoże zobaczyć, jak zweryfikować pobrany plik źródłowy.
2. Użyj opcji,
--prefix
aby zainstalować gcc w innym katalogu niż domyślny. Katalog instalacyjny najwyższego poziomu domyślnie to / usr / local. Przeczytaj o opcjach instalacji gccźródło
.sig
plik (podpis pgp).make -j $(nproc)
make && make install
bez--prefix
? Jeśli to zrobić, wszystko jest zainstalowane na/usr/
nie nawet/usr/local
sprawdzićconfig.log
:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Możesz użyć repozytorium centos-sclo-rh-testing, aby zainstalować GCC v7 bez konieczności kompilowania go na zawsze, a także domyślnie włączyć V7 i przełączać się między różnymi wersjami w razie potrzeby.
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;
źródło
/usr/lib64/libstdc++.so
pliku tak, aby miał nowsze symbole.Najlepszym podejściem do korzystania z yum i aktualizacji devtoolset jest wykorzystanie repozytorium CentOS SCLo RH Testing.
yum install centos-release-scl-rh yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++
Dostępnych jest również wiele dodatkowych pakietów, aby zobaczyć je wszystkie
yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*
Możesz użyć tej metody, aby zainstalować dowolną wersję narzędzia deweloperskiego, po prostu zamień 7 na żądaną wersję. devtoolset-6-gcc, devtoolset-5-gcc itp.
źródło
Polecenie do zainstalowania GCC i narzędzi programistycznych na serwerze CentOS / RHEL 7
Wpisz następujące polecenie yum jako użytkownik root:
yum group install „Narzędzia programistyczne”
LUB
sudo yum group zainstaluj „Narzędzia programistyczne”
Jeśli powyższe polecenie nie powiodło się, spróbuj:
yum groupinstall „Narzędzia programistyczne”
źródło