Недавно я попытался перейти на gcc 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. Я буду хранить его для дальнейшего использования, если кто-то столкнется с той же проблемой.
gcc
иg++
зависимости устанавливают прямые ссылки на зависимости по умолчанию, например/usr/bin/g++ -> g++-5
. Пытались ли вы просто переустановитьgcc
иg++
пакеты?Ответы:
Выполните следующие команды в последовательности. Я получаю ту же ошибку. Это сработало для меня.
источник
sudo apt-get update
нужно запускать три раза, а не только в первый раз? В частности, почему после последней установки пакета?Необходимо запустить обновление apt-get, чтобы ваш компьютер получил доступ к только что добавленному хранилищу, сделав его доступным для вас. Если вы не запускаете его, значит, ваш компьютер не знает, что на нем есть информация о репозиториях.
источник