Круговая зависимость блокирует обновление

У меня есть цикл зависимостей, который я не могу выяснить, как двигаться, и он мешает мне обновлять.

Я в настоящее время нахожусь на 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
1
задан 15 December 2016 в 10:16

1 ответ

Заметьте в своем последнем упоминании обновления о 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 -
0
ответ дан 8 December 2019 в 07:27

Другие вопросы по тегам:

Похожие вопросы: