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.