it-roy-ru.com

Система пакетов не работает. Как это исправить?

Я только недавно купил Arduino и требует компиляции программного обеспечения gcc-avr/avrdude. Я установил avr для другого компонента микропроцессора некоторое время назад, но, очевидно, это устаревшая версия (gcc версии 3.3 20030512 (предварительная версия)), поэтому я решил обновить их, но это не сработало.

(Обратите внимание, что раньше я также сломал свой aptdaemon из-за незавершенной установки Wine (не удалось получить соглашение об установке шрифта), но я исправил это путем переустановки, а затем принял соглашение.)

Я пытаюсь обновить их, запустив сценарий сборки bingo , но требуемые зависимости не могут быть установлены из-за авр ... терминальных отчетов

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Но работает

apt-get -f install

результаты в

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я попытался запустить менеджер обновлений и обновить свою систему через него, но все, что я получаю, это сообщение об ошибке

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

который затем говорит мне попробовать запустить apt-get -f install, который будет таким же, как и в прошлый раз.

Так как я могу исправить свою систему, мне действительно нужен новый avr, пожалуйста :) Кстати, моя система - Ubuntu 11.04

49
Vigi

После того, как вы получите эту ошибку, попробуйте Sudo apt-get -f install, чтобы принудительно установить файлы, которые не были загружены из-за ошибки.

Затем попробуйте снова Sudo apt-get update, Sudo apt-get -f install туда и обратно, пока не останется только тот пакет, в котором есть ошибка.

Sudo dpkg --configure -a

и очистить кеш

Sudo apt-get clean

38
Ringtail

Это обычно происходит в результате "Неопределенных зависимостей для установленных пакетов".

Вот простое решение, если у вас установлен Synaptic:

  • Откройте Synaptic.
  • Перейти к "Статус" (в левой навигации).
  • Выберите "Сломанный".
  • Удалите эти сломанные пакеты.

В противном случае это может быть сделано через CLI:

Откройте терминал и выполните эту команду:

Sudo apt-get clean

Выше команда очистит локальный репозиторий от полученного файла пакета.

Sudo apt-get install -f

Будет исправлять нарушенные зависимости, т.е. -f здесь означает "исправить поврежденные".

Sudo dpkg --configure -a

настроит все (-a) пакеты, которые еще не были настроены. В конце запустите команду обновления Sudo apt-get update.

18
Nabeel Ahmed

Открытый синаптический Install synaptic . Затем перейдите в статус и выберите Broken . Затем удалите полностью сломанные пакеты.

Это должно исправить вашу систему.

enter image description here

16
user61928

Попробуйте: Sudo apt-get update && Sudo apt-get -f install
Я надеюсь, что это решит проблему.

3
Frantique

Была такая же проблема,

Sudo apt-get clean

с последующим

Sudo apt-get update

с последующим

Sudo apt-get upgrade -f

починил это. Надеюсь, это поможет!

1
user152730

Если вы этого еще не сделали, попробуйте изменить ссылку на репозиторий пакетов на "Главная" или США . Это исправило мою проблему с неудовлетворенными зависимостями Python-dev (моя установка 12.04 была с использованием хранилища пакетов в Соединенном Королевстве, ранее).

  1. В "Ubuntu Software Center" (USC) перейдите в меню/вкладку "Правка => Источники программного обеспечения".
  2. Измените раскрывающееся значение "Загрузить с" на "Главный сервер" или сервер в США.
  3. Оставьте USC, откройте "Диспетчер обновлений" из меню программы Ubuntu и "Проверьте" для обновления программного обеспечения (или введите "Sudo apt-get update" в окне терминала).
  4. Обновите программное обеспечение, как обычно, например, через 'Диспетчер обновлений' или apt-get/aptitude в терминале.

Это восстановило мой репозиторий, и я продолжил устанавливать все, что мне потом понадобилось, как обычно.

Прежде чем исправить мою проблему с помощью приведенных выше инструкций, различные команды aptitude/apt-get предложили мне удалить много-много пакетов, но, как вы можете оценить, мне не хотелось терять 6 месяцев + добавления пакетов, и это хотя Я делаю снимок списка пакетов время от времени (см. Мои Gist подсказки)! Я очень рад, что узнал об инструкциях, которые я оставляю здесь.

Надеюсь это поможет.

1
Big Rich