【问题标题】:What it means "A breaks B and and is installed" while compiling and installing apt pkg in Ubuntu?在Ubuntu中编译和安装apt pkg时“A打破B并安装”是什么意思?
【发布时间】:2014-07-21 12:58:01
【问题描述】:

我有一个为 Ubuntu 13.04 编译的 apt 包,想在 Ubuntu 14.04 上安装它 有问题的软件包取决于 libcogl12,它在 Ubuntu 14.04 上不可用(我假设已替换为较新的 libcogl15)。

为了解决这个问题,我下载了 cogl 源代码并手动构建了 libcogl12:

sudo apt-get install freeglut3-dev libxcomposite-dev libglib2.0-dev libpango1.0-dev
curl -O http://ftp.gnome.org/pub/GNOME/sources/cogl/1.7/cogl-1.7.8.tar.xz
cd cogl-1.7.8
./configure --prefix=/usr
make
sudo checkinstall

checkinstall 交互式菜单中,我为结果包定义了一个libcogl12 名称。它构建没有问题,但安装时出现错误:

dpkg: dependency problems prevent configuration of libcogl12:
 libclutter-1.0-0:amd64 (1.16.4-0ubuntu2) breaks libcogl12 and is installed.

“A 打破 B 并安装”是什么意思?我看不到任何有关此类错误的文档:(。

【问题讨论】:

    标签: ubuntu apt dpkg checkinstall


    【解决方案1】:

    取自这里:http://debian-handbook.info/browse/stable/sect.package-meta-information.html

    5.2.1.3。不兼容性:Breaks 字段

    Breaks 字段的效果类似于 Conflicts 字段,但有一个特殊的 意义。它表明一个包的安装将“中断” 另一个包(或它的特定版本)。一般来说,这 两个包之间的不兼容是暂时的,Breaks 关系特指不兼容的版本。磅数 将拒绝安装破坏已安装的软件包 包,apt-get 将尝试通过更新 将被破坏为较新版本的软件包(假定为 被修复,因此再次兼容)。这种情况可能 在没有向后兼容性的更新的情况下发生:这是 如果新版本不再与旧版本一起使用的情况 版本,并在另一个程序中导致故障而不使 特殊规定。 Breaks 字段阻止用户运行 解决这些问题。

    【讨论】:

    • 非常感谢! Bot“中断”到底是什么意思?两个软件包都尝试安装同名的不同文件吗?或者是什么?有什么办法可以找到“破”的理由吗?
    • 这留给“break”标志的实现者 :) 基本上是的,不同的文件版本具有相同的位置,不同的库具有相同的名称,等等。如果你知道包 A 会破坏包 B,您只需将其添加到中断字段中即可 :) 详细信息留给打包者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2014-01-16
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多