Bagaimana cara menginstal gcc 5.3 dengan yum di CentOS 7.2?


94

Saya menggunakan CentOS 7.2

Saat saya menggunakan yum groupinstall "Development Tools", gcc versi 4.8.5, seperti ini:

masukkan deskripsi gambar di sini

Saya ingin menginstal gcc 5.3

Bagaimana mendekati ini dengan yum?



@MohammadShahadatHossain Apakah ada yumsumber daya di mana saja?
sinar matahari

Saya tidak yakin tetapi dalam hal ini Anda dapat menggunakan sumber daya RPM dari sini. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

devtoolset sekarang menyediakan 5.3.1 - lihat jawaban saya di bawah ini untuk perintah untuk mengaktifkan dan menginstalnya menggunakan yum.
tesch1

Jawaban:


185

Pembaruan:
Seringkali orang menginginkan versi terbaru dari gcc, dan devtoolset selalu diperbarui, jadi mungkin Anda ingin devtoolset-N di mana N = {4,5,6,7 ...}, periksa yum untuk terbaru tersedia di sistem Anda). Memperbarui cmds di bawah untuk N = 7.

Ada sebuah paket untuk gcc-7.2.1 untuk devtoolset-7 sebagai contoh. Pertama, Anda perlu mengaktifkan Koleksi Perangkat Lunak , lalu tersedia di devtoolset-7:

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

2
Sementara itu, versi gcc di devtoolset telah
diubah

4
Tidak hanya itu, tetapi Anda dapat menginstal devtoolset-6 untuk mendapatkan 6.2.1
Rahly

5
mengubah symlink bukanlah hal terbaik untuk dilakukan, karena mungkin dimiliki / dikelola oleh paket lain yang dapat diupgrade. Lebih baik mengaktifkannya di login Anda, atau di skrip login seluruh sistem dengan scl enable devtoolset-6 bashatau . /opt/rh/devtoolset-6/bin/enable tautan yang diperbarui ke dokumen alat perangkat lunak
tesch1

1
Menjalankan yum install devtoolset-4-binutilsmungkin juga berguna untuk mendapatkan toolchain GCC yang lengkap.
scrutari

5
Saya biasa source scl_source enable devtoolset-4mengganti gcc saya saat ini dengan yang diinstal olehdevtoolset-4
WF

75

Pembaruan: Menginstal versi terbaru gcc 9: ( gcc 9.3.0 ) - dirilis 12 Maret 2020 :

Metode yang sama dapat diterapkan ke gcc 10 ( gcc 10.1.0 ) - dirilis 7 Mei 2020

Unduh file: gcc-9.3.0.tar.gz atau gcc-10.1.0.tar.gz

Kompilasi dan instal:

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

Diuji di bawah CentOS 7.8.2003 untuk gcc 9.3 dan gcc 10.1

Diuji di bawah CentOS 8.1.1911 untuk gcc 10.1 (mungkin memerlukan lebih banyak waktu untuk dikompilasi)

Hasil: gcc / g ++ 9.3.0 / 10.1.0

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Menginstal gcc 7.4 (gcc 7.4.0) - dirilis 6 Desember 2018 :

Unduh file: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Kompilasi dan instal:

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

Hasil:

masukkan deskripsi gambar di sini

Catatan:

1. Jawaban Stack Overflow ini akan membantu untuk melihat cara memverifikasi file sumber yang diunduh.

2. Gunakan opsi --prefixuntuk menginstal gcc ke direktori lain selain yang default. Default direktori instalasi tingkat atas ke / usr / local. Baca tentang opsi penginstalan gcc


Mengapa mengunduh dari ftp.mirrorservice.org daripada ftp.gnu.org? Anda juga harus mengunduh dan memverifikasi .sigfile yang sesuai (tanda tangan pgp).
Keith Thompson

Konfigurasi seperti yang ditunjukkan tanpa --prefix akan dipasang di / usr / local / yang mungkin atau mungkin tidak datang sebelum instalasi gcc asli Anda pada PATH
tim18

1
make -j $(nproc)
Chepe Questn

2
Ini membutuhkan waktu lebih dari 4 jam untuk mengkompilasi dan lebih dari 6gb ruang HDD.
iDevFS

Seperti yang disarankan tim18, apakah aman untuk dijalankan make && make installtanpa --prefix? Jika demikian, semuanya diinstal menjadi /usr/tidak genap /usr/local, periksa config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

7

Anda dapat menggunakan repo centos-sclo-rh-testing untuk menginstal GCC v7 tanpa harus mengkompilasinya selamanya, juga mengaktifkan V7 secara default dan memungkinkan Anda beralih di antara versi yang berbeda jika diperlukan.

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;

Meskipun kode ini dapat menjawab pertanyaan, lebih baik menjelaskan cara menyelesaikan masalah dan memberikan kode sebagai contoh atau referensi. Jawaban hanya kode bisa membingungkan dan tidak memiliki konteks.
Robert Columbia

Sayangnya solusi ini tidak memperbarui /usr/lib64/libstdc++.sofile untuk memiliki simbol yang lebih baru.
bersisik

6

Pendekatan terbaik untuk menggunakan yum dan mengupdate devtoolset Anda adalah dengan menggunakan repositori CentOS SCLo RH Testing.

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

Banyak paket tambahan juga tersedia, untuk melihat semuanya

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

Anda dapat menggunakan metode ini untuk menginstal versi dev tool, cukup tukar 7 untuk versi yang Anda inginkan. devtoolset-6-gcc, devtoolset-5-gcc dll.


-11

Perintah untuk menginstal GCC dan Alat Pengembangan pada server CentOS / RHEL 7

Ketik perintah yum berikut sebagai pengguna root:

yum group menginstal "Alat Pengembangan"

ATAU

sudo yum group install "Alat Pengembangan"

Jika perintah di atas gagal, coba:

yum groupinstall "Alat Pengembangan"

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.