Мой apt был перепутан установкой boost

На ubuntu

#> sudo apt-get install libboost-all-dev

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies.
 libboost-all-dev : Depends: libboost-dev but it is not going to be installed
                    Depends: libboost-atomic-dev but it is not going to be installed
                    Depends: libboost-chrono-dev but it is not going to be installed
                    Depends: libboost-context-dev but it is not going to be installed
                    Depends: libboost-date-time-dev but it is not going to be installed
                    Depends: libboost-exception-dev but it is not going to be installed
                    Depends: libboost-filesystem-dev but it is not going to be installed
                    Depends: libboost-graph-dev but it is not going to be installed
                    Depends: libboost-graph-parallel-dev but it is not going to be installed
                    Depends: libboost-iostreams-dev but it is not going to be installed
                    Depends: libboost-locale-dev but it is not going to be installed
                    Depends: libboost-math-dev but it is not going to be installed
                    Depends: libboost-mpi-dev but it is not going to be installed
                    Depends: libboost-mpi-python-dev but it is not going to be installed
                    Depends: libboost-program-options-dev but it is not going to be installed
                    Depends: libboost-python-dev but it is not going to be installed
                    Depends: libboost-random-dev but it is not going to be installed
                    Depends: libboost-regex-dev but it is not going to be installed
                    Depends: libboost-serialization-dev but it is not going to be installed
                    Depends: libboost-signals-dev but it is not going to be installed
                    Depends: libboost-system-dev but it is not going to be installed
                    Depends: libboost-test-dev but it is not going to be installed
                    Depends: libboost-thread-dev but it is not going to be installed
                    Depends: libboost-timer-dev but it is not going to be installed
                    Depends: libboost-wave-dev but it is not going to be installed
 libboost-chrono1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-date-time1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-exception1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-filesystem1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-graph-parallel1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-graph1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-iostreams1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-locale1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-log1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-math1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-mpi1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-program-options1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-python1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-random1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-regex1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-serialization1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-signals1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-system1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-test1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-thread1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-timer1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost-wave1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
 libboost1.54-all-dev : Depends: libboost1.54-dev 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" без пакетов (или укажите решение).

Хорошо.

#> sudo apt-get -f install

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  libboost-atomic1.53.0 libboost-chrono1.53.0 libboost-context1.53.0 libboost-graph-parallel1.53.0 libboost-graph1.53.0 libboost-iostreams1.53.0 libboost-math1.53.0 libboost-mpi1.53.0 libboost-python1.53.0 libboost-random1.53.0
  libboost-serialization1.53.0 libboost-signals1.53.0 libboost-test1.53.0 libboost-timer1.53.0 libboost-tools-dev libboost-wave1.53.0 libboost1.53-tools-dev openjdk-7-jre-lib
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libboost1.54-dev
Suggested packages:
  libboost1.54-doc libboost-coroutine.54-dev libboost-log.54-dev doxygen default-jdk fop
The following NEW packages will be installed
  libboost1.54-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
51 not fully installed or removed.
Need to get 0 B/10.3 MB of archives.
After this operation, 101 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 253168 files and directories currently installed.)
Unpacking libboost1.54-dev (from .../libboost1.54-dev_1.54.0-2ubuntu3_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_i386.deb (--unpack):
 trying to overwrite '/usr/share/boostbook/xsl/docbook-layout.xsl', which is also in package libboost1.53-tools-dev 1.53.0-6+exp3ubuntu8
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Как мне выйти из этого беспорядка? Спасибо.

Ответ 1

Некоторые команды являются избыточными, но для хорошей меры:

sudo apt-get --purge remove libboost-all-dev libboost-dev libboost-doc
sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get clean
sudo apt-get update
sudo apt-get install libboost1.54-dev

Будьте осторожны с apt-get clean - он очищает локальное репо из загруженных пакетов в /var/cache/apt/archives. Вы не должны хранить что-либо там, ни какое-либо приложение, но просто имейте в виду, что кеш исчезнет.

Ответ 2

У меня была такая же проблема только сейчас. Чтобы решить эту проблему,

  • Загрузите пакет debboost1.54-dev debug из сайт Ubuntu
  • Заменить конфликты с перезаписью

    sudo dpkg -i -force-overwrite libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb

  • Затем установите пакеты, которые не выполнили

    sudo apt-get install -f

  • Удалите boost 1.53 с помощью

    sudo apt-get autoremove

Ответ 3

this repo https://launchpad.net/~boost-latest/+archive/ubuntu/ppa содержит все версии libboost и исправил его для меня!

sudo add-apt-repository ppa:boost-latest/ppa sudo apt-get update

теперь вы можете установить желаемую версию, последняя на момент написания - 1.55:

sudo apt-get install libboost1X.55-all-dev

Ответ 4

Я сначала пытался mockinterface предложение выше, и упорно через, но все еще есть проблемы.

В конце концов я проверил, что ошибка была в пакете: libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb

Итак, я запустил: sudo dpkg -i -force-overwrite/var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb

Затем я запустил apt-get update и apt-get upgrade, и все снова были довольны системой.

Обновление apt-get важно, так как оно правильно настраивает различные библиотеки.

Ответ 5

Для меня он работал над установкой вручную пакетов, которые "не будут установлены" (в этом порядке):

sudo apt-get install libboost1.46-dev sudo apt-get install libboost-dev sudo apt-get install libboost-all-dev

Установка работает отлично, но я не тестировал, работает ли пакет.

Ответ 6

Я пробовал, с чем работал @mockinterface, но с synaptic. Полностью удалил все, что упоминалось boost, и отметил, что было убито (как ни странно, aptitude, среди нескольких), чтобы переустановить позже.

Затем, как @Igor R. предложил в комментарии, построил boost из источника.

В этот момент /usr/local/lib/liboost*.so* был полон вещей, я считаю позже более старым, чем репозиторий Debian/Ubuntu.

Однако кажется, что это огромная попытка удалить все boost, потому что libreoffice, compiz и single зависят от libboost-date-time1.54.0, libboost-program-options1.46.1 и libboost-serialization1.46..

Ответ 7

sudo aptitude install libboost1.55-all-dev

Это, наконец, сработало для меня.