2

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 :(.

grigoryvp
  • 40,413
  • 64
  • 174
  • 277

1 Answers1

1

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.

Community
  • 1
  • 1
favoretti
  • 29,299
  • 4
  • 48
  • 61
  • Thanks a lot! Bot what "break" exactly means? Do both packages trying to install different files with same name? Or what? Is it any way to find a reason for "break"? – grigoryvp Jul 21 '14 at 13:27
  • That's left to the implementer of the "break" flag :) Basically yeah, different file versions with the same location, different libraries with the same name, whatnot.. If you know that package A will break package B, you just add it in that breaks field :) Details are left to the packager. – favoretti Jul 26 '14 at 15:31