У меня есть цикл зависимостей, который я не могу выяснить, как двигаться, и он мешает мне обновлять.
Я в настоящее время нахожусь на 14,04 и хочу переместиться в 16,04. Далее ниже показ того, что я пробовал, неудачно. И в любой точке посредством работ, если я, Кв. - получает установку-f, затем целая путаница скоро вернулась в начале проблемы.
Но во-первых, позвольте мне ярлык на конкретный вопрос и затем если Вы хотите знать, почему и как из вопроса, посмотрите ниже.
ВОПРОС: Как я могу переместить пакет gcc-4.8-base от версии 14.04.3 до 14.04.1? Просто предоставление требуемой версии недостаточно, более старый пакет не существует на моей машине, и я понятия не имею, где и как получить тот более старый пакет.
Это - то, как я достиг необходимости ответить на вышеупомянутый вопрос и если Вы видите другое решение проблемы, я внимательно слушаю (глаза в нем были):
sudo apt-get update
Это хорошо работает. Затем обновление:
sudo apt-get upgrade
Это перестало работать с:
The following packages have unmet dependencies:
libstdc++-4.8-dev : Depends: libstdc++6 (>= 4.8.4-2ubuntu1~14.04.3) but 4.8.4-2ubuntu1~14.04.1 is installed
libstdc++6 : Depends: gcc-4.8-base (= 4.8.4-2ubuntu1~14.04.1) but 4.8.4-2ubuntu1~14.04.3 is installed
E: Unmet dependencies. Try using -f.
Таким образом, как предложенный попытку с-f опцией:
sudo apt-get upgrade -f
И после нескольких минут выборки наконец перестал работать с:
Preparing to unpack .../libstdc++6_4.8.4-2ubuntu1~14.04.3_i386.deb ...
Unpacking libstdc++6:i386 (4.8.4-2ubuntu1~14.04.3) over (4.8.4-2ubuntu1~14.04.1) ...
dpkg: error processing archive /var/cache/apt/archives/libstdc++6_4.8.4-2ubuntu1~14.04.3_i386.deb (--unpack):
trying to overwrite '/usr/share/gcc-4.8/python/libstdcxx/__init__.py', which is also in package libstdc++6-armhf-cross 4.8.4-2ubuntu1~14.04.1cross0.11.1
Errors were encountered while processing:
/var/cache/apt/archives/libstdc++6_4.8.4-2ubuntu1~14.04.3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Моя мысль в этой точке, избавляются от libstdc ++ 6-armhf-cross, я не должен в настоящее время делать никакой кросс-компиляции и в будущем, если я сделаю, то я посмотрю на возвращение его в:
sudo apt-get remove --purge libstdc++6-armhf-cross libstdc++-4.8-dev-armhf-cross g++-4.8-arm-linux-gnueabihf libsfstdc++-4.8-dev-armhf-cross g++-4.8-multilib-arm-linux-gnueabihf libstdc++-4.8-dev g++-4.8 g++-arm-linux-gnueabihf g++ build-essential
Это хорошо работает и поэтому назад к обновлению:
sudo apt-get upgrade
Ну, это все еще перестало работать, только на этот раз на другом пакете:
The following packages have unmet dependencies:
libstdc++-4.8-dev : Depends: libstdc++6 (>= 4.8.4-2ubuntu1~14.04.3) but 4.8.4-2ubuntu1~14.04.1 is installed
libstdc++6 : Depends: gcc-4.8-base (= 4.8.4-2ubuntu1~14.04.1) but 4.8.4-2ubuntu1~14.04.3 is installed
E: Unmet dependencies. Try using -f.
И использование-f опции:
sudo apt-get upgrade -f
Сбои снова с:
Preparing to unpack .../libstdc++6_4.8.4-2ubuntu1~14.04.3_i386.deb ...
Unpacking libstdc++6:i386 (4.8.4-2ubuntu1~14.04.3) over (4.8.4-2ubuntu1~14.04.1) ...
dpkg: error processing archive /var/cache/apt/archives/libstdc++6_4.8.4-2ubuntu1~14.04.3_i386.deb (--unpack):
trying to overwrite '/usr/share/gcc-4.8/python/libstdcxx/__init__.py', which is also in package libstdc++6-armhf-cross 4.8.4-2ubuntu1~14.04.1cross0.11.1
Errors were encountered while processing:
/var/cache/apt/archives/libstdc++6_4.8.4-2ubuntu1~14.04.3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Так, избавьтесь от gcc-4.8-base? Нет, которого не происходит, это - зависимость к libstdc ++ 6, следовательно круговая зависимость. Единственное решение, о котором я могу думать, пытается положить обратно gcc-4.8-base к версии 14.03.1 и затем обновляет оттуда, следовательно исходный вопрос выше.
Согласно предложению от Scott, я также начал пробовать его последовательность, но самую первую отказавшую команду:
sudo dpkg --configure -a
Отказавший с:
dpkg: dependency problems prevent configuration of libstdc++-4.8-dev:i386:
libstdc++-4.8-dev:i386 depends on libstdc++6 (>= 4.8.4-2ubuntu1~14.04.3); however:
Version of libstdc++6:i386 on system is 4.8.4-2ubuntu1~14.04.1.
dpkg: error processing package libstdc++-4.8-dev:i386 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of g++-4.8:
g++-4.8 depends on libstdc++-4.8-dev (= 4.8.4-2ubuntu1~14.04.3); however:
Package libstdc++-4.8-dev:i386 is not configured yet.
dpkg: error processing package g++-4.8 (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libstdc++-4.8-dev:i386
g++-4.8
Заметьте в своем последнем упоминании обновления о i386... для упрощения вызова, сначала удаляют много архитектуру... удаляют все пакеты на 32 бита
sudo apt-get remove --purge `dpkg --get-selections | grep i386 | awk '{print $1}'`
затем сама много дуга
sudo dpkg --remove-architecture i386
затем выпуск
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get --fix-missing install
sudo dpkg --configure --pending
sudo dpkg -C # audit -