Ubuntu – 2/15/18 compiz update broke unity

16.04compizunity

This compiz update forced removal of unity and ubuntu-desktop on my 16.04 Ubuntu system.

The offending package that is missing, but unity needs, seems to be compiz-core-abiversion-20151010. It seems to be a virtual package, and I can't find it to download.

enter image description here

As it happens, I mostly use LXDE on this system, but I'd be very unhappy if I used Unity…

Since I do occasionally use the Unity desktop, is there a fix for this?

Edit: related questions are rolling in. Looks like a major quality escape

"Kept back" packages for update , want to uninstall unity?

compiz upgrade uninstalled unity

Ubuntu TaskBar is gone. Launcher is missing

What did you guys just DO! Updates to both my 16.04 environs killed the desktops!

Edit 2:
Bug 1749839 submitted to launchpad

Best Answer

  • Very strange situation.
    Yes compiz-core-abiversion-20151010 is virtual on xenial and zesty, but it is provided by compiz-core:

    $ apt-cache show compiz-core  | grep "Version\|Provides\|Package"
    Package: compiz-core
    Version: 1:0.9.12.3+16.04.20180221-0ubuntu1
    Provides: compiz-core-abiversion-20180221
    Package: compiz-core
    Version: 1:0.9.12.2+16.04.20160415-0ubuntu1
    Provides: compiz-core-abiversion-20151010
    

    So APT and dpkg knows about both of them.

    Full list of compiz-core-abiversion family is as follows:

    $ aptitude search compiz-core-abiversion-
    v   compiz-core-abiversion-20151010                                -
    v   compiz-core-abiversion-20151010:i386                           -
    v   compiz-core-abiversion-20180221                                -
    v   compiz-core-abiversion-20180221:i386                           -
    

    Here as we know compiz-core-abiversion-20151010 is not installable:

    $ sudo apt-get install compiz-core-abiversion-20151010
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Package compiz-core-abiversion-20151010 is a virtual package provided by:
      compiz-core 1:0.9.12.2+16.04.20160415-0ubuntu1 [Not candidate version]
    
    E: Package 'compiz-core-abiversion-20151010' has no installation candidate
    

    But we can install newer (actual) version:

    $ sudo apt-get install compiz-core-abiversion-20180221
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Note, selecting 'compiz-core' instead of 'compiz-core-abiversion-20180221'
    The following additional packages will be installed:
      compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas unity-services
    The following packages will be upgraded:
      compiz-core compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas
      unity-services
    10 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.
    Need to get 5 302 kB of archives.
    After this operation, 278 kB of additional disk space will be used.
    Do you want to continue? [Y/n] n
    

    So on normal consistent system all we need is to have all upgrades installed.
    But if unity package was removed, we can install it with:

    sudo aptitude update
    sudo aptitude safe-upgrade
    sudo aptitude install unity ubuntu-desktop
    

    Note 1: My Ubuntu 16.04 LTS installations with Unity and MATE DE (1 clean xenial and and 3 old precise->trusty->xenial) work normally after regular upgrades without my intervention. All these systems did not tried to remove neither Unity nor ubuntu-desktop during upgrades. And of course xenial-proposed is disabled on my system, since I do not want to transform my Ubuntu LTS to bleeding-edge self-breakable ArchLinux.

    Note 2: I edited my answer 2018-03-12 because of the fact that compiz-core-abiversion-20170630 was removed from repositories.