Ostatnio próbowałem obniżyć wersję do gcc 4.7, ponieważ kod cfd, nad którym pracowałem, nie skompilował się z najnowszą wersją gcc. Ale po wielu błędach i wciąż nie kompilującym się kodzie poddałem się i chciałbym wrócić do najnowszych kompilatorów gcc i g ++, ale wygląda na to, że coś pomieszałem.
Kiedy robię:
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-6.2 g++-6.2
lub nawet gcc-5.1 g ++ - 5.1 w tej kwestii, daje mi następujący błąd
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'
i próbowałem to zrobić wcześniej
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6.2 g++-6.2
ale wydaje się, że to nie działa. Wreszcie kiedy to zrobię
sudo apt-get install gcc
to mówi
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version (4:5.3.1-1ubuntu1).
Wiem, że nadal muszę instalować i konfigurować alternatywy, ale to nie działa w następujący sposób
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++
Przepraszam, że skończyło się to dość długo i daj mi znać, jeśli potrzebujesz więcej informacji. Dzięki!
EDYCJA: Naprawdę działałem, zmieniając gcc-5.3 na gcc-5 w powyższym kodzie, ponieważ wydawało się, że tak to się nazywa w usr / bin. Zachowam ją do wykorzystania w przyszłości, jeśli ktoś napotka ten sam problem.
gcc
ig++
zależności instalują bezpośrednie łącza do domyślnych zależności, takich jak/usr/bin/g++ -> g++-5
. Czy próbowałeś po prostu ponownie zainstalować pakietygcc
ig++
?Odpowiedzi:
Uruchom kolejno następujące polecenia. Otrzymywałem ten sam błąd. To zadziałało dla mnie.
źródło
sudo apt-get update
uruchomiono go trzykrotnie zamiast pierwszego? W szczególności, dlaczego po ostatniej instalacji pakietu?Aktualizacja apt-get musi zostać uruchomiona, aby komputer uzyskał dostęp do właśnie dodanego repozytorium, udostępniając w ten sposób jego zawartość. Jeśli go nie uruchomisz, komputer nie będzie wiedział, że ma dostępne informacje o repozytorium
źródło