CentOS 7.2'de yum ile gcc 5.3 nasıl kurulur?


94

CentOS 7.2 kullanıyorum

Kullandığımda yum groupinstall "Development Tools"gcc sürümü 4.8.5, şöyle:

görüntü açıklamasını buraya girin

Gcc 5.3 yüklemek istiyorum

Buna nasıl yaklaşılır yum?



@MohammadShahadatHossain yumHerhangi bir yerde kaynak var mı ?
güneşli

Emin değilim ama bu durumda RPM kaynağını buradan kullanabilirsiniz. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

devtoolset artık 5.3.1 sağlıyor - yum kullanarak etkinleştirmek ve kurmak için komutlar için aşağıdaki cevabıma bakın.
tesch1

Yanıtlar:


187

Güncelleme:
Çoğu zaman insanlar gcc'nin en son sürümünü isterler ve devtoolset güncel tutulur, bu yüzden belki devtoolset-N, N = {4,5,6,7 ...} olduğunda, yum için sisteminizde en son mevcut). N = 7 için aşağıdaki cmd'ler güncellendi.

Devtoolset-7 için örnek olarak gcc-7.2.1 için bir paket var. Öncelikle Yazılım Koleksiyonlarını etkinleştirmeniz gerekir , ardından devtoolset-7'de mevcuttur:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version

2
devtoolset'teki gcc sürümü ortalama olarak
5.3.1'e yükseltildi

4
Sadece bu da değil, 6.2.1'i edinmek için devtoolset-6'yı yükleyebilirsiniz
Rahly

5
Sembolik bağın değiştirilmesi yapılacak en iyi şey değildir, çünkü muhtemelen yükseltilebilecek başka bir pakete aittir / tarafından yönetilmektedir. Bunu oturum açma bilgilerinizde veya sistem genelinde oturum açma komut scl enable devtoolset-6 bash. /opt/rh/devtoolset-6/bin/enable
dizisinde

1
yum install devtoolset-4-binutilsTam GCC araç zincirini elde etmek için çalıştırmak da yararlı olabilir.
scrutari

5
Kullandığım source scl_source enable devtoolset-4tarafından yüklenen biri ile benim şimdiki gcc geçmek içindevtoolset-4
WF

75

Güncelleme: gcc 9'un son sürümü yükleniyor : ( gcc 9.3.0 ) - 12 Mart 2020'de yayınlandı :

7 Mayıs 2020'de yayınlanan gcc 10 ( gcc 10.1.0 ) için de aynı yöntem uygulanabilir

Dosyayı indirin: gcc-9.3.0.tar.gz veya gcc-10.1.0.tar.gz

Derleyin ve kurun:

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

CentOS 7.8.2003 kapsamında gcc 9.3 ve gcc 10.1 için test edilmiştir

CentOS 8.1.1911 altında gcc 10.1 için test edilmiştir (derlenmesi daha fazla zaman alabilir)

Sonuçlar: gcc / g ++ 9.3.0 / 10.1.0

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin

Gcc 7.4 (gcc 7.4.0) kurulumu - 6 Aralık 2018'de yayınlandı :

Dosyayı indirin: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Derleyin ve kurun:

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

Sonuç:

görüntü açıklamasını buraya girin

Notlar:

1. Bu Yığın Taşması yanıtı , indirilen kaynak dosyanın nasıl doğrulanacağını görmenize yardımcı olacaktır.

2.--prefix gcc'yi varsayılandan farklı bir dizine yükleme seçeneğini kullanın . En üst düzey kurulum dizini varsayılan olarak / usr / local şeklindedir. Gcc yükleme seçenekleri hakkında bilgi edinin


Neden ftp.gnu.org yerine ftp.mirrorservice.org'dan indirmelisiniz? Ayrıca ilgili .sigdosyayı (pgp imzası) indirmeli ve doğrulamalısınız .
Keith Thompson

--Prefix olmadan gösterildiği gibi yapılandırma, / usr / local / dizinine kurulacaktır; bu, PATH üzerindeki orijinal gcc kurulumunuzun önüne gelebilir veya gelmeyebilir
tim18

1
make -j $(nproc)
Chepe Questn

2
Bu, derlemem 4 saatten fazla sürdü ve 6gb'den fazla HDD alanı.
iDevFS

Tim18'in önerdiği gibi, make && make installonsuz çalıştırmak güvenli --prefixmidir? Bunu yaparsanız, her şey /usr/eşit değil /usr/local, kontrol edin config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

7

Sonsuza kadar derlemek zorunda kalmadan GCC v7'yi yüklemek için centos-sclo-rh-test deposunu kullanabilirsiniz, ayrıca varsayılan olarak V7'yi etkinleştirin ve gerekirse farklı sürümler arasında geçiş yapmanıza izin verin.

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;

Bu kod soruyu yanıtlasa da sorunun nasıl çözüleceğini açıklamak ve kodu örnek veya referans olarak sağlamak daha iyidir. Yalnızca kod yanıtları kafa karıştırıcı olabilir ve bağlamdan yoksun olabilir.
Robert Columbia

Ne yazık ki bu çözüm /usr/lib64/libstdc++.sodosyayı daha yeni sembollere sahip olacak şekilde güncellemez .
pullu

6

Yum'u kullanmak ve geliştirici setinizi güncellemek için en iyi yaklaşım, CentOS SCLo RH Test deposunu kullanmaktır.

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

Hepsini görmek için birçok ek paket de mevcuttur

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

Herhangi bir geliştirme aracı sürümünü yüklemek için bu yöntemi kullanabilirsiniz, sadece 7'yi istediğiniz sürümle değiştirin. devtoolset-6-gcc, devtoolset-5-gcc vb.


-11

CentOS / RHEL 7 sunucusuna GCC ve Geliştirme Araçlarını yükleme komutu

Aşağıdaki yum komutunu kök kullanıcı olarak yazın:

yum group "Geliştirme Araçları" nı yükleyin

VEYA

sudo yum group "Geliştirme Araçları" nı yükleyin

Yukarıdaki komut başarısız olursa, şunu deneyin:

yum groupinstall "Geliştirme Araçları"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.