CentOS 7.2 kullanıyorum
Kullandığımda yum groupinstall "Development Tools"
gcc sürümü 4.8.5, şöyle:
Gcc 5.3 yüklemek istiyorum
Buna nasıl yaklaşılır yum
?
yum
Herhangi bir yerde kaynak var mı ?
Yanıtlar:
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
scl enable devtoolset-6 bash
. /opt/rh/devtoolset-6/bin/enable
yum install devtoolset-4-binutils
Tam GCC araç zincirini elde etmek için çalıştırmak da yararlı olabilir.
source scl_source enable devtoolset-4
tarafından yüklenen biri ile benim şimdiki gcc geçmek içindevtoolset-4
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
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ç:
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
.sig
dosyayı (pgp imzası) indirmeli ve doğrulamalısınız .
make -j $(nproc)
make && make install
onsuz çalıştırmak güvenli --prefix
midir? 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 ...
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;
/usr/lib64/libstdc++.so
dosyayı daha yeni sembollere sahip olacak şekilde güncellemez .
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.
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:
VEYA
Yukarıdaki komut başarısız olursa, şunu deneyin: