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:
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/enabletautan 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
//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
//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
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.
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.
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.
yum
sumber daya di mana saja?Jawaban:
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
sumber
scl enable devtoolset-6 bash
atau. /opt/rh/devtoolset-6/bin/enable
tautan yang diperbarui ke dokumen alat perangkat lunakyum install devtoolset-4-binutils
mungkin juga berguna untuk mendapatkan toolchain GCC yang lengkap.source scl_source enable devtoolset-4
mengganti gcc saya saat ini dengan yang diinstal olehdevtoolset-4
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
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:
Catatan:
1. Jawaban Stack Overflow ini akan membantu untuk melihat cara memverifikasi file sumber yang diunduh.
2. Gunakan opsi
--prefix
untuk menginstal gcc ke direktori lain selain yang default. Default direktori instalasi tingkat atas ke / usr / local. Baca tentang opsi penginstalan gccsumber
.sig
file yang sesuai (tanda tangan pgp).make -j $(nproc)
make && make install
tanpa--prefix
? Jika demikian, semuanya diinstal menjadi/usr/
tidak genap/usr/local
, periksaconfig.log
:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
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;
sumber
/usr/lib64/libstdc++.so
file untuk memiliki simbol yang lebih baru.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.
sumber
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"
sumber