सेंट ओएस 6.5 में जी ++ 4.9.2 कैसे स्थापित करें?


13

मैं सेंट ओएस में जी ++ का नवीनतम संस्करण स्थापित करने की कोशिश कर रहा हूं। मेरे द्वारा प्रबंधित सबसे अच्छा निम्नलिखित है:

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
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

लेकिन यह जी ++ 4.8.2 स्थापित करता है और 4.9.2 नहीं। क्या 4.9.2 स्थापित करने का कोई तरीका है?

जवाबों:


4

आपको इसे पुराने तरीके से करना होगा। GCC स्रोत प्राप्त करें, इसे हाथ से बनाएं।

ऐसा करने का कोई कारण? (मैं कुछ के बारे में सोच सकता हूं, लेकिन जब तक आप भी ऐसा नहीं करते, मैं कुछ भी जोड़ना नहीं चाहता जो भ्रमित हो सकता है)।

यदि आप स्रोतों से निर्माण करने में संकोच करते हैं, तो मैं शायद कुछ कदम प्रदान कर सकता हूं।

नोट: इसका कारण यह है कि 4.9 के साथ devtools वर्तमान में केवल Red Hat उपयोगकर्ताओं के लिए एक वैध लाइसेंस के साथ उपलब्ध है। थोड़ी देर के लिए प्रतीक्षा करें, और अंत में मुझे यकीन है कि 4.9 devtools CentOS उपयोगकर्ताओं के लिए उपलब्ध कराया जाएगा जैसे 4.8 वर्तमान में है।


जवाब देने के लिए धन्यवाद, ऐसा लगता है कि मैं इसके लिए इंतजार करूंगा। क्या आप कृपया मेरी यहाँ भी मदद कर सकते हैं: superuser.com/questions/834915/…
स्पीडकॉडर

28

CentOS 6/7 आधिकारिक तौर पर इसका समर्थन करता है। आपको तीसरे पक्ष के भंडार की आवश्यकता नहीं है। और CentOS के रेपो में gcc संस्करण 4.9.2 है।

yum install centos-release-scl-rh          
yum install devtoolset-3-gcc devtoolset-3-gcc-c++   

अद्यतन किए गए टूल का उपयोग करने के लिए, sclकमांड का उपयोग करके एक नया शेल शुरू करें :

scl enable devtoolset-3 bash

आपको अपने PATH पर्यावरण चर को रीसेट करने की भी आवश्यकता हो सकती है, जिसे ~ / .bashrc या अन्य प्रोफ़ाइल फ़ाइल में सेट किया जा सकता है। यदि आपको इसे बदलने की आवश्यकता है, तो इसे इंगित करना चाहिए/opt/rh/devtoolset-3/root/usr/bin/:$PATH

CentOS से और Red Hat से SCL के बारे में अधिक जानकारी


यह मेरे लिए काम नहीं किया। उन 3 चरणों के पूरा होने के बाद, मैं अभी भी gcc 4.7.2 देखता हूं, जब मैं करता हूंgcc -v
BT

ठीक है, इन चरणों के अलावा, मुझे अपनी .bashrc फ़ाइल को बदलना पड़ा ताकि मेरे PATH वातावरण चर के /opt/rh/devtoolset-3/root/usr/bin/:$PATHबजाय सेट हो जाए /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH। फिर एक सत्र के पुनरारंभ के बाद यह काम किया।
BT

इस समाधान का उपयोग करने के बाद मैं देखता हूं कि gcc संस्करण वास्तव में अपडेट किया गया है (gcc --version का उपयोग करके), लेकिन मैं अभी भी पुराने संस्करण से हेडर फ़ाइलों को देखता हूं। इसके अलावा, मैं उस निर्देशिका में अधिकांश नए हेडर नहीं खोज सकता, जिसकी मुझे उनसे अपेक्षा थी (/ ऑप्ट / आरएच / डेवलेसेट-3 / रूट / यूएसआर / शामिल /)। यह क्यों हो सकता है और मैं इसे कैसे हल कर सकता हूं?
ममाज़व

इस उत्तर को समय की कसौटी पर yum search devtoolset | grep gcc-c++
कसने के

14

मैं अपने CentOS 6.5 और CentOS 6.6 सिस्टम पर gcc 4.9 और g ++ 4.9 स्थापित करने के लिए वैज्ञानिक Linux Cern 6 रिपॉजिटरी का उपयोग करता हूं। यह g ++ 4.9.2 स्थापित नहीं करता है। यह g ++ 4.9.1 स्थापित करता है जो मेरी आवश्यकताओं के लिए पर्याप्त है।

यहां वे कमांड हैं जिन्हें मैं इसे इंस्टॉल करने के लिए उपयोग करता हूं।

cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++

जैसा कि माइकल ने इस पोस्ट के लिए अपनी टिप्पणी में कहा था, वास्तव में gcc के संस्करण का उपयोग करने के लिए कि यह स्थापित होता है, निम्नलिखित कमांड के साथ एक नया शेल शुरू करें।

scl enable devtoolset-3 bash

1
वास्तव में जीसीसी के संस्करण का उपयोग करने के लिए जो यह स्थापित करता है, का उपयोग कर एक नया शेल शुरू करेंscl enable devtoolset-3 bash
माइकल

@ माइकल इस का उल्लेख करने के लिए धन्यवाद। मैंने उत्तर को और अधिक उपयोगी बनाने के लिए आपकी टिप्पणी को अपने उत्तर में शामिल कर लिया है।
सुषम पाल

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