ubuntuaptdpkgcheckinstall

What it means "A breaks B and and is installed" while compiling and installing apt pkg in Ubuntu?


I have an apt package that is compiled for Ubuntu 13.04 and want to install it on Ubuntu 14.04 The package in question depends on libcogl12 which is not available on Ubuntu 14.04 (replaced by newer libcogl15 as i assume).

In order to solve this problem i download cogl source code and build libcogl12 manually:

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

In checkinstall interactive menu i define a libcogl12 name for resulting package. It is built without problems, but upon install i got an error:

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

What this "A breaks B and is installed" means? I can't see any documentation for such errors :(.


Solution

  • Taken from here: http://debian-handbook.info/browse/stable/sect.package-meta-information.html

    5.2.1.3. Incompatibilities: the Breaks Field

    The Breaks field has an effect similar to that of the Conflicts field, but with a special meaning. It signals that the installation of a package will “break” another package (or particular versions of it). In general, this incompatibility between two packages is transitory, and the Breaks relationship specifically refers to the incompatible versions. dpkg will refuse to install a package that breaks an already installed package, and apt-get will try to resolve the problem by updating the package that would be broken to a newer version (which is assumed to be fixed and, thus, compatible again). This type of situation may occur in the case of updates without backwards compatibility: this is the case if the new version no longer functions with the older version, and causes a malfunction in another program without making special provisions. The Breaks field prevents the user from running into these problems.