सेंटोस 7.2 पर yum के साथ gcc 5.3 कैसे स्थापित करें?


94

मैं सेंटोस 7.2 का उपयोग कर रहा हूं

जब मैं उपयोग करता हूं yum groupinstall "Development Tools", तो gcc संस्करण 4.8.5 है, जैसे:

यहां छवि विवरण दर्ज करें

मैं gcc 5.3 स्थापित करना चाहूंगा

इसके साथ कैसे संपर्क करें yum?


इस ट्यूटोरियल का पालन करें vultr.com/docs/how-to-install-gcc-on-centos-6
मोहम्मद शहादत हुसैन

@ मोहम्मदशहादत हुसैन yumकहीं भी एक संसाधन है?
धूप

मुझे यकीन नहीं है लेकिन इस मामले में आप यहाँ से RPM संसाधन का उपयोग कर सकते हैं। rpmfind.net/linux/rpm2html/search.php?query=gcc
मोहम्मद शहादत हुसैन

devtoolset अब 5.3.1 प्रदान करता है - यम का उपयोग करके इसे सक्षम और स्थापित करने के आदेशों के लिए नीचे मेरा उत्तर देखें।
tesch1

जवाबों:


182

अपडेट:
अक्सर लोग gcc का सबसे हालिया संस्करण चाहते हैं, और डेटॉलसेट को अप-टू-डेट रखा जा रहा है, इसलिए शायद आप devtoolset-N चाहते हैं जहां N = {4,5,6,7 ...}, yum की जांच करें आपके सिस्टम पर नवीनतम उपलब्ध)। एन = 7 के लिए नीचे दिए गए सेमी को अपडेट किया।

उदाहरण के तौर पर devtoolset-7 के लिए gcc-7.2.1 का पैकेज है। पहले आपको सॉफ्टवेयर कलेक्शंस को सक्षम करने की आवश्यकता है , फिर यह devtoolset-7 में उपलब्ध है:

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

2
devtoolset में जीसीसी संस्करण है में मतलब समय के लिए 5.3.1 टकरा दिया
tesch1

4
इतना ही नहीं, लेकिन आप 6.2.1 पाने के लिए devtoolset-6 स्थापित कर सकते हैं
Rahly

4
सिम्लिंक को बदलना सबसे अच्छी बात नहीं है, क्योंकि यह संभवतः एक और पैकेज द्वारा प्रबंधित / प्रबंधित है जो उन्नत हो सकता है। यह अपनी प्रवेश में इसे सक्रिय करने के लिए बेहतर है, या के साथ पूरे सिस्टम में लॉगिन स्क्रिप्ट में scl enable devtoolset-6 bashया . /opt/rh/devtoolset-6/bin/enable सॉफ्टवेयर उपकरण डॉक्स के लिए अद्यतन लिंक
tesch1

1
yum install devtoolset-4-binutilsपूर्ण जीसीसी टूलकिन प्राप्त करने के लिए रनिंग सहायक हो सकता है।
स्क्रूटरी

5
मैं प्रयोग किया जाता source scl_source enable devtoolset-4द्वारा स्थापित एक के साथ अपने मौजूदा जीसीसी स्विच करने के लिएdevtoolset-4
WF

74

अपडेट: gcc 9 का नवीनतम संस्करण स्थापित करना: ( gcc 9.3.0 ) - 12 मार्च, 2020 को जारी किया गया :

उसी विधि को gcc 10 ( gcc 10.1.0 ) पर लागू किया जा सकता है - 7 मई, 2020 को जारी किया गया

डाउनलोड फ़ाइल: gcc-9.3.0.tar.gz या gcc-10.1.0.tar.gz

संकलित करें और स्थापित करें:

//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 के तहत gcc 9.3 और gcc 10.1 के लिए परीक्षण किया गया

10.1 के लिए CentOS 8.1.1911 के तहत परीक्षण किया गया (संकलन के लिए अधिक समय लग सकता है)

परिणाम: gcc / g ++ 9.3.0 / 10.1.0

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

Gcc 7.4 (gcc 7.4.0) स्थापित करना - 6 दिसंबर, 2018 को जारी किया गया :

डाउनलोड फ़ाइल: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

संकलित करें और स्थापित करें:

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

परिणाम:

यहां छवि विवरण दर्ज करें

टिप्पणियाँ:

1। यह स्टैक ओवरफ्लो उत्तर यह देखने में मदद करेगा कि डाउनलोड की गई स्रोत फ़ाइल को कैसे सत्यापित किया जाए।

2.--prefix डिफ़ॉल्ट के अलावा किसी अन्य निर्देशिका में gcc स्थापित करने के लिए विकल्प का उपयोग करें । Toplevel स्थापना निर्देशिका चूक / usr / स्थानीय के लिए। जीसीसी स्थापना विकल्पों के बारे में पढ़ें


क्यों ftp.mgnorservice.org से डाउनलोड करें बजाय ftp.gnu.org के? आपको संबंधित .sigफ़ाइल (पीजीपी हस्ताक्षर) को भी डाउनलोड और सत्यापित करना चाहिए ।
कीथ थॉम्पसन

बिना दिखाए के रूप में कॉन्फ़िगर करना - उपसर्ग / usr / लोकल में संस्थापित करेगा / जो पाथ पर आपके मूल gcc इंस्टॉलेशन के आगे आ सकता है या नहीं आ सकता है
tim18


2
यह संकलन करने के लिए मुझे 4 घंटे से अधिक समय लगा और 6gb से अधिक HDD स्थान।
iDevFS

जैसा कि टाइम 18 ने सुझाव दिया है, क्या यह make && make installबिना चलाने के लिए सुरक्षित है --prefix? यदि ऐसा है, तो सब कुछ /usr/भी नहीं में स्थापित किया गया है /usr/local, की जाँच करें config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

6

आप जीसीसी v7 को हमेशा के लिए संकलित किए बिना सेंटो-स्कैलो-आरएच-परीक्षण रेपो का उपयोग कर सकते हैं, डिफ़ॉल्ट रूप से वी 7 को भी सक्षम कर सकते हैं और यदि आवश्यक हो तो विभिन्न संस्करणों के बीच स्विच कर सकते हैं।

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नए प्रतीकों के लिए फ़ाइल को अपडेट नहीं करता है ।
स्केली

5

Yum का उपयोग करने और अपने डिवॉल्टसेट को अपडेट करने का सबसे अच्छा तरीका CentOS SCLo RH परीक्षण रिपॉजिटरी का उपयोग करना है।

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

उन सभी को देखने के लिए कई अतिरिक्त पैकेज भी उपलब्ध हैं

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

आप किसी भी देव टूल संस्करण को स्थापित करने के लिए इस पद्धति का उपयोग कर सकते हैं, बस अपने वांछित संस्करण के लिए 7 स्वैप करें। devtoolset-6-gcc, devtoolset-5-gcc आदि।


-11

एक CentOS / RHEL 7 सर्वर पर GCC और विकास उपकरण स्थापित करने के लिए कमांड

रूट उपयोगकर्ता के रूप में निम्न यम कमांड टाइप करें:

yum group इंस्टॉल करें "डेवलपमेंट टूल्स"

या

sudo yum group install "विकास उपकरण"

यदि उपरोक्त आदेश विफल हुआ, तो प्रयास करें:

yum groupinstall "विकास उपकरण"

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.