如果我尝试运行,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 Libs,然后尝试运行以下命令。
sudo dpkg-r libopencv*