Ubuntu 16.04'te en son gcc ve g ++ sürümüne güncelleme


11

Çalıştığım bir cfd kodu en son gcc sürümü ile derlenmediği için son zamanlarda gcc 4.7'ye geçmeye çalıştım. Ama birçok hata ve kod hala derleme sonra vazgeçti ve en son gcc ve g ++ derleyicilerine geri dönmek istiyorum ancak ben bir şey berbat olabilir gibi görünüyor.

Ben yaparken:

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

hatta gcc-5.1 g ++ - 5.1 bu konuda bana şu hatayı veriyor

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'

ve bunu daha önce de denedim

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

ama işe yaramıyor gibi görünüyor. Sonunda sadece

sudo apt-get install gcc

diyor ki

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

Hala alternatifleri kurmam ve yapılandırmam gerektiğini biliyorum, ancak bunu yapmak aşağıdaki gibi çalışmaz

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

Üzgünüm bu oldukça uzun sürdü ve daha fazla bilgiye ihtiyacınız varsa lütfen bize bildirin. Teşekkürler!

EDIT: Aslında yukarıdaki kodda gcc-5.3 gcc-5 değiştirerek işe aldım gibi usr / bin olarak adlandırılan gibi görünüyordu. Aynı sorunla karşılaşırsa, ileride başvurmak üzere saklayacağım.


2
AFAIK gcc ve g ++ varsayılan olarak güncelleme alternatifleri olarak yüklenmez; bunun yerine, gccve g++bağımlılık paketleri gibi varsayılan bağımlılıklara doğrudan bağlantılar kurar /usr/bin/g++ -> g++-5. gccVe g++paketlerini yeniden yüklemeyi denediniz mi?
kaynakçı

Bu tür sorunlardan kaçınmanın bir yolu, bir VM oluşturmak ve eski derleyici sürümünü oraya kurmaktır.
NZD

Bu düzeltme, Kurulum paket listelerini okumada düzeltilebilir ... Yapı bağımlılığı ağacı tamamlandı Durum bilgisi okuma ... Tamamlandı gcc zaten en yeni sürüm (4: 7.3.0-3ubuntu2.1). 0 yükseltildi, 0 yeni yüklendi, kaldırmak için 0 ve 36 yükseltilmedi.
JOC KERS

Yanıtlar:


5

Aşağıdaki komutları sırayla çalıştırın. Aynı hatayla karşılaşıyordum. Bu benim için çalıştı.

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
Neden sudo apt-get updatesadece ilk kez değil üç kez oynanıyor? Özellikle, son paket kurulumundan sonra neden ?
Eliah Kagan

Gcc-snapshot tam olarak ne yapar? Önceki gcc sürümünü (4.8.4) nasıl kaldırabilirim?
abunickabhi

0

apt-get güncellemesinin çalıştırılması gerekir, böylece bilgisayarınız yeni eklenmiş olan depoya erişerek içeriğini sizin için kullanılabilir hale getirir. Eğer çalıştırmazsanız, bilgisayarınız bu repositorys bilgisine sahip olduğunun farkında değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.