Если я попытаюсь запустить, sudo apt-get install python-box2d
то получу это бессмысленное сообщение об ошибке:
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:
libcv-dev : Depends: libopencv-core-dev but it is not going to be installed
libcvaux-dev : Depends: libopencv-core-dev but it is not going to be installed
libopencv-calib3d-dev : Depends: libopencv-calib3d2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-contrib-dev : Depends: libopencv-contrib2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-features2d-dev : Depends: libopencv-features2d2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-flann-dev : Depends: libopencv-core-dev (= 2.3.1-7) but it is not going to be installed
Depends: libopencv-flann2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-highgui-dev : Depends: libopencv-highgui2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-imgproc-dev : Depends: libopencv-core-dev (= 2.3.1-7) but it is not going to be installed
Depends: libopencv-imgproc2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-legacy-dev : Depends: libopencv-legacy2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-ml-dev : Depends: libopencv-core-dev (= 2.3.1-7) but it is not going to be installed
Depends: libopencv-ml2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-objdetect-dev : Depends: libopencv-objdetect2.3 (= 2.3.1-7) but it is not going to be installed
libopencv-video-dev : Depends: libopencv-video2.3 (= 2.3.1-7) but it is not going to be installed
libplayerdrivers3.0 : Depends: libopencv-core2.3 but it is not going to be installed
Depends: libopencv-highgui2.3 but it is not going to be installed
Depends: libopencv-imgproc2.3 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Если я попытаюсь запустить предложенный sudo apt-get -f install
, он попытается установить все вышеперечисленное, но все они завершатся с ошибками типа:
dpkg: error processing /var/cache/apt/archives/libopencv-video2.3_2.3.1-7_amd64.deb (--unpack):
trying to overwrite '/usr/lib/libopencv_video.so.2.3.1', which is also in package libopencv2.3 2.3.1+svn6514+branch23-12~oneiric
No apport report written because MaxReports is reached already
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Что здесь происходит? Насколько мне известно, Box2D не использует ни один из этих пакетов OpenCV (это библиотека 2D-физики, тогда как OpenCV — библиотека обработки изображений), и даже если бы использовал, почему все пакеты сломаны?
решение1
Оказалось, что виноват был паршивый репозиторий, который использовалБеседка. По-видимому, он предоставляет пакеты, которые конфликтуют с пакетами в стандартном репозитории. Я удалил его PPA и удалил все сломанные пакеты, и это решило ошибку.
решение2
вручную удалите все библиотеки OpenCV, а затем попробуйте выполнить команду ниже.
sudo dpkg -r libopencv*