Я, кажется, испортил что-то с руководством gcc
обновите когда-то в прошлом, который не стал проблемой до сих пор, когда я обновил от 14,04 до 16,04. А именно, система, кажется, думает что libstdc++6
версия в порядке, в то время как apt
(и много других программ), жалуются, что это не (потому что общая библиотека находится на самом деле в неверной версии):
sudo apt-get install --fix-broken --fix-missing
apt-get: relocation error: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0: symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
Система даже не запускает графический режим, вышеупомянутый вывод был получен с помощью неграфической консоли (использование Ctrl-Alt-F6
), и apt
самостоятельно абсолютно неприменимо, таким образом, я не могу только сделать чего-то как переустанавливание.
Как я могу зафиксировать и переустановить эти пакеты, когда программа, которую я использую для управления ими самого, затронута и неприменима?
Сначала, я смог получить графическую оболочку входа в систему путем ручного копирования libstdc++.so.6.0.21
в ее место от Живой карты с интерфейсом USB и создания ссылки на него от libstdc++.so.6
. Я использовал эту точную версию, потому что это, кажется, значение по умолчанию для Ubuntu 16.04 и также содержит эти "21" упомянутый в сообщении об ошибке ("версия GLIBCXX_3.4.21").
, В то время как это, казалось, удовлетворило графический стек, те же ошибки остались с apt
и другие программы в зависимости от libstdc ++ 6. После некоторой попытки я мог разрешить, что все это со следующими шагами, с помощью dpkg
к вручную (ООН) устанавливает вещи:
Загрузка deb файлы в правильных версиях для 16,04:
wget http://mirrors.kernel.org/ubuntu/pool/main/a/apt/apt_1.2.10ubuntu1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb
Удаление этой определенной версии, которая заблокировала установку корректного libstdc ++ 6:
sudo dpkg --force-depends -r libstdc++6:i386
Затем устанавливают "хорошую" версию из файлов:
sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb apt_1.2.10ubuntu1_amd64.deb
И наконец, зафиксируйте путаницу, которую я оставил при обновлении и испытании вещей:
sudo apt-get install -f