CentOS'ta gcc 4.7.x / 4.8.x Nasıl Kurulur?


88

gccCentOS 6.2+ yüklü bir sistemde 4.7.x / 4.8.x'i kurmanın en kolay yolu nedir ? Varsayılan RPM paketi daha eski bir sürümünü içerir gcc.

Yanıtlar:


67

Centos.org'dan Tru Huynh, centos için redhat geliştirici araç seti 1.1'i oluşturdu ve gcc 4.7.2 içeriyor

Böylece onun deposunu kullanabilir ve anında gcc'yi yükleyebilirsiniz.

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

Bu büyük olasılıkla içine yükleyecektir /opt/centos/devtoolset-1.1/root/usr/bin/

Daha sonra derleme işleminize CC yerine 4.4 yerine gcc 4.7 kullanmasını söyleyebilirsiniz.

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++

4
Çalışan yum --enablerepo=testing-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++: Dört-o-dört, .. döndüren görüntü

1
yum clean allbaşarısızlıktan sonra adımları tekrarlamadan önce ihmal etmeyi unutmayın , yine de 404

6
Tek tek değişkenleri ayarlamak yerine, yapabilecekleriniz scl enable devtoolset-1.1 bash(ayarlanan tüm değişkenlerle birlikte yeni bir kabuk başlar).
Marcin

13
G ++ 4.8.2 1.1için 2her yerde değişiklik yapın --enablerepo=testing-1.1-devtools-6ve--enablerepo=testing-devtools-2-centos-6
dwurf

3
Bu hala çalışıyor mu? Ben olsun people.centos.org/tru/devtools-2/6Workstation/i386/RPMS/... : [Errno 14] pycurl HATA 22 - "İstenen URL hatayı döndürdü: 404"
Paul Praet

42

Devtoolset-2 nasıl edinilir (gcc 4.8.1 dahil)

Bu, http://people.centos.org/tru/devtools-2/readme adresinden alınmıştır.

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

Bilinen Sorunlar:

  • imzasız paketler
  • CentOS-6 devtoolset-2, tüm Eclipse yığınını içeren, ancak henüz oluşturulmayan devtoolset-2-ide'ye ihtiyaç duyar
  • CentOS-6 ile ilgili tüm maven dosyaları oluşturulmamıştır.

Devtools-1.1'den temel değişiklikler:

  • /opt/centos artık kullanılmıyor
  • /opt/rh şimdi yukarı akış olarak kullanılır (SL sürümü olarak)

1
Bunları çalışması için ihraç etmek zorunda kaldım. Teşekkürler! İhracat CC = / opt / rh / devtoolset-2 / kök / usr / bin / gcc ihracat CXX = / opt / rh / devtoolset-2 / kök / usr / bin / c ++ ihracat CPP = / opt / rh / devtoolset-2 / root / usr / bin / cpp
jemiloii

2
@JemiloII - scl enable devtoolset-2yükledikten sonra yaptın mı ? Bu yolda doğru derleyiciler almak için çalışmalıdır.
Mark Lakata

Bu aslında ihracattan daha iyi çalışıyor!
jemiloii

@MarkLakata - Koşu scl enable devtoolset-2aşağıdaki hatayı atarNeed at least 3 arguments. Run scl --help to get help.
Swanidhi

3
@Swanidhi Tam komut, scl enable devtoolset-2 bashbash kullanmıyorsanız son alanın farklı olabileceği yerdir.
Mark Lakata

30

Devtoolset 2.0'ın yeni bir sürümü var. Scientific Linux'ta çalışan Cern'den hoş insanlar açık bir versiyon yarattı :

CentOS (Scientific Linux değil) kullanıyorsanız, GPG anahtarını buradan kullanarak almanız gerekir :

rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern

Keyfini çıkarın!


1
yukarıdaki bağlantı koptu, burada da benzer bir anahtar buldum: [ftp.riken.jp] ( ftp.riken.jp/Linux/cern/slc58/x86_64/RPM-GPG-KEYs/… )
Remo Harsono

21
# 1. Install a package with repository for your system:
# RHEL 6: `yum-config-manager --enable rhel-server-rhscl-6-rpmss`
# RHEL 7: `yum-config-manager --enable rhel-server-rhscl-7-rpms`
$ sudo yum install centos-release-scl # On CentOS 6/7+, install package centos-release-scl available in CentOS repository

# 2. Install the collection:
$ sudo yum install devtoolset-3

# 3. Start using software collections:
$ scl enable devtoolset-3 bash

$ sudo yum list devtoolset-3\*

1
ne gelmez hash -rmi?
codecowboy

Centos 6.7 sistemimde -s / opt / rh / devtoolset-2 / root / usr / bin / * / usr / local / bin / sudo kırıldı. Sanırım sudo takma adı olabilir.
codecowboy

@codecowboy $PATHher zaman, bellekte sonuçlarını önbelleğe alarak bir komut yazın hash -rkuvvet yeniden $ PATH
Denis Denisov

@Denji - görünüşe göre hop5.in sitesi artık yok.
slm

--nogpgcheckseçenek eklemek gerekebilir : sudo yum install --nogpgcheck devtoolset-3
FooBee

2

Gnu gcc'den görebildiğim kadarıyla , son kararlı sürüm 4.62. 4.7 sürümü indirilebilir ve derlenebilir, gcc kurulumu hakkında daha fazla bilgi .


4.7 hakkında sordum çünkü ihtiyaç duyduğum bazı C ++ 11 özelliklerinin olması gerekiyordu (Clang'dan taşıma).
Tomas Andrle,

Yani kaynaktan derlemek dışında, kullanabileceğim bazı RPM'lere sahip olacak bir web sitesi yok mu?
Tomas Andrle,

Farkında olduğumdan değil, ama konuyla ilgili çok bilgili değilim. RPM deposu tipik olarak RPM'yi yalnızca kararlı formunda içerir.
bbaja42

2

Bu cevapların hiçbiri benim için çalıştı.
Devtoolset'in kabuğunda bile gcc 4.4.7.
Numaram şuydu:

mv /usr/bin/gcc /usr/bin/gcc.bckup
ln -s /opt/centos/devtoolset-1.1/root/usr/bin/gcc /usr/bin/gcc

1

devtool1.1 ile ilgili bir sorun var bu yüzden bazı değişiklikler yaptım - sonunda, bu benim için çalıştı: ilk çalıştırma

yum clean all

şundan:

wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo

şimdi açın /etc/yum.repos.d/devtools-1.1.repo ve değiştir:

http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS

(x86_64 kullanıyorsanız):

http://people.centos.org/tru/devtools-1.1/6/x86_64/RPMS/ 

veya ((x86 kullanıyorsanız))

http://people.centos.org/tru/devtools-1.1/6/i386/RPMS/

ve nihayet koşmak:

yum install devtoolset-1.1

0

Bunu başarmanın bir yolu src, federasyon depolarından RPM'leri almak ve hedef sisteminiz için yeniden derlemektir.
Fedora 17ve daha sonra sağlamakgcc 4.7

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.