Ubuntu 16.04 पर नवीनतम gcc और g ++ को अपडेट करना


11

मैंने हाल ही में 4.7 को डाउनग्रेड करने की कोशिश की क्योंकि cfd कोड के बाद से मैं काम कर रहा था नवीनतम gcc संस्करण के साथ संकलन नहीं किया गया था। लेकिन कई त्रुटियों के बाद और कोड अभी भी संकलित नहीं कर रहा है कि मैंने हार मान ली है और नवीनतम gcc और g ++ कंपाइलर पर वापस जाना चाहता हूं, हालांकि ऐसा लगता है कि मैंने कुछ गड़बड़ कर दी है।

जब मैं करता हूं:

sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-6.2 g++-6.2

या यहां तक ​​कि gcc-5.1 g ++ - 5.1 उस मामले के लिए, यह मुझे निम्नलिखित त्रुटि देता है

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package gcc-6.2
E: Couldn't find any package by glob 'gcc-6.2'
E: Couldn't find any package by regex 'gcc-6.2'
E: Unable to locate package g++-6.2
E: Couldn't find any package by glob 'g++-6.2'
E: Couldn't find any package by regex 'g++-6.2'

और मैंने पहले भी ऐसा करने की कोशिश की थी

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6.2 g++-6.2

लेकिन यह काम नहीं करता है। अंत में जब मैं बस करता हूं

sudo apt-get install gcc

इसे कहते हैं

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version (4:5.3.1-1ubuntu1).

मुझे पता है कि मुझे अभी भी विकल्प स्थापित करने और कॉन्फ़िगर करने की आवश्यकता है लेकिन ऐसा करना या तो निम्नानुसार काम नहीं करता है

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5.3 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5.3 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
sudo update-alternatives --config gcc
sudo update-alternatives --config g++

क्षमा करें, यह बहुत लंबा हो गया और कृपया मुझे बताएं कि क्या आपको अधिक जानकारी की आवश्यकता है। धन्यवाद!

संपादित करें: मुझे वास्तव में उपरोक्त कोड में gcc-5.3 को gcc-5 में बदलकर काम करने के लिए मिला है क्योंकि ऐसा लगता है कि इसे usr / bin में कहा जाता है। मैं इसे भविष्य में संदर्भ के लिए रखूंगा अगर किसी को भी इसी समस्या का सामना करना पड़े।


2
AFAIK gcc और g ++ डिफ़ॉल्ट रूप से अपडेट-विकल्प के रूप में स्थापित नहीं होते हैं - इसके बजाय, gccऔर g++निर्भरता पैकेज डिफ़ॉल्ट निर्भरता के लिए सीधे लिंक स्थापित करते हैं, जैसे /usr/bin/g++ -> g++-5। क्या आपने केवल gccऔर g++संकुल को पुनः स्थापित करने का प्रयास किया है?
स्टीलड्राइवर

इस तरह के मुद्दों से बचने का एक तरीका वीएम बनाना और पुराने संकलक संस्करण को वहां स्थापित करना है।
NZD

इस हॉटफ़िक्स को इंस्टॉलेशन रीडिंग पैकेज लिस्ट्स में ठीक किया जा सकता है ... डोन बिल्डिंग डिपेंडेंसी ट्री रीडिंग स्टेट इनफॉर्मेशन ... डन जीसीसी पहले से ही सबसे नया वर्जन है (4: 7.3.0-3ubuntu2.1)। 0 अपग्रेड, 0 नव स्थापित, 0 हटाने के लिए और 36 अपग्रेड नहीं।
JOC KERS

जवाबों:


5

क्रम में निम्नलिखित आदेश चलाएँ। मुझे वही त्रुटि हो रही थी। इसने मेरे लिए काम किया।

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-snapshot
sudo apt-get install gcc-6 g++-6

9
sudo apt-get updateसिर्फ पहली बार के बजाय तीन बार क्यों चलाया जाता है? विशेष रूप से, अंतिम पैकेज स्थापना के बाद क्यों ?
एलिया कगन

जीसीसी-स्नैपशॉट वास्तव में क्या करता है? मैं पिछले gcc संस्करण (4.8.4) को कैसे निकाल सकता हूँ?
अबुनिकाभि

0

apt-get अपडेट को चलाना होगा ताकि आपका कंप्यूटर रिपॉजिटरी तक पहुंच जाएगा जो अभी जोड़ा गया है, इस प्रकार इसकी सामग्री आपको उपलब्ध हो रही है। यदि आप इसे नहीं चलाते हैं, तो आपके कंप्यूटर को पता नहीं है कि इसके पास रिपॉजिटरी की जानकारी उपलब्ध है

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