Я только что перешел на Ubuntu xenial, 16.04. Когда я пытаюсь выполнить apt-get, я получаю ошибку
apt-get: relocation error: /usr/lib/i386-linux-gnu/libapt-pkg.so.5.0: symbol [long symbol omitted] version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
Я пытался найти решения в apt: ошибка перемещения: версия GLIBCXX_3.4.21 не определена в файле libstdc ++. So.6 со временем ссылки ссылка :
wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
, но система жалуется, что она возвращается к старой версии libstdc ++ 6:
dkpg: warning: downgrading libstdc++6:i386 from 8.1.0-5ubuntu1!14.04 to 5.4.0-6ubuntu~16.04.10
и отказывается продолжать, потому что libstdc++6:i386 break libkolabxml1
.
На этой странице также предлагается использовать ppa-purge
(но он не установлен) и apt-add-repository
(но apt
не работает).
Я также попытался установить aptitude
саму версию xenial для i386. Он жалуется, что нуждается в libcwidget3v5
и libsigc++-2.0-0v5
. Но он не может установить их, потому что он нарушает зависимости, если пытается.
Когда я натолкнулся на беспорядок зависимостей, подобный этому, оказалось, что на верхнем уровне у меня было что-то неправильного типа.
Что за исправление? Я думаю, что если я смогу заставить работать apt
, я смогу починить другие вещи. Я хотел бы снова запустить процесс обновления, но do-release-upgrade
не удается, потому что он не может использовать apt
.
Некоторые дополнительные детали.
Вывод dpkg --print-architecture
: i386
Вывод dpkg --print-foreign-architecture
: [без вывода]
Вывод ldd /usr/lib/i386-linux-gnu/libapt-pkg.so.5.0 | grep local
: [без вывода]
Вывод ldd /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep local
: [нет вывода]
Попытайтесь вызвать установку libstdc ++ 6 при помощи:
dpkg -i --force-downgrade --force-depends libstdc++6...
Если они не работают, можно также попробовать --force-all
.