请有人向我解释这一点,因为这没有任何意义:
$ dpkg -i freeling-3.1-quantal-x86_64.deb
Selecting previously unselected package freeling.
(Reading database ... 283003 files and directories currently installed.)
Preparing to unpack freeling-3.1-quantal-x86_64.deb ...
Unpacking freeling (3.1) ...
dpkg: dependency problems prevent configuration of freeling:
freeling depends on libboost-program-options1.49.0 (>= 1.49); however:
Package libboost-program-options1.49.0 is not installed.
freeling depends on libboost-regex1.49.0 (>= 1.49); however:
Package libboost-regex1.49.0 is not installed.
freeling depends on libboost-system1.49.0 (>= 1.49); however:
Package libboost-system1.49.0 is not installed.
freeling depends on libicu48 (>= 4.8.1); however:
Package libicu48:amd64 is not installed.
但是我有liboost 1.54!(所有套餐)
$ apt-cache policy libboost-program-options1.54.0
libboost-program-options1.54.0:
Installed: 1.54.0-5
Candidate: 1.54.0-5
$ apt-cache policy libboost-program-options-dev
libboost-program-options-dev:
Installed: 1.54.0.1
Candidate: 1.54.0.1
对于所有依赖项,依此类推。该软件包是否损坏,或者我的设置有问题?据我所理解,
(>= 1.49)
等于或大于1.49,对吧?
您需要名为的软件包libboost-program-options1.49.0
。它可以是大于或等于1.49的任何版本,但必须是该软件包的名称。libboost-program-options1.54.0
是一个不同的程序包名称。
软件包名称不同,因为它们具有不兼容的ABI,因此为1.49.0编译的可执行文件不能与1.54.0一起使用,反之亦然。由于软件包名称不同,因此您可以同时安装它们,这使您可以在同一系统上使用针对1.49.0编译的程序和针对1.54.0编译的程序。
软件包名称…-quantal-…
表明这是用于Ubuntu 10.10 Quantal的软件包。在较新的Ubuntu版本(例如saucy或trusty)上,您应该获取源软件包并重新编译,或者找到适合您的Ubuntu版本的二进制文件。或者,您可以尝试获取仍在raring中可用的旧1.49.0库(同样,旧的Ubuntu版本也存储在old-releases.ubuntu.com上),但这可能会使您陷入某种依赖之中,因此我建议重新编译冻结。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句