I've ended up with the Gtk-Message: Failed to load module "overlay-scrollbar" due to needing 32-bit overlay-scrollbar-gtk2
on a 64-bit amd64
Ubuntu - which is better described in How do I install 32-bit libraries when they keep having uninstallable dependencies? ...
Basically, if I sudo apt-get install overlay-scrollbar-gtk2:i386
, it will fail on 14.04, because it is understood to depend on overlay-scrollbar:i386
, however on 14.04 only overlay-scrollbar:all
is being installed.
So, I could try apt-get download
with dpkg --ignore-depends ...
as in How do I install 32-bit libraries when they keep having uninstallable dependencies? - but that didn't quite work...
So what I tried, was to follow the directions Howto change dependencies, and did something like this:
sudo apt-get remove --purge overlay-scrollbar-gtk2:i386
apt-get download overlay-scrollbar-gtk2:i386
dpkg-deb -x overlay-scrollbar-gtk2_0.2.16+r359+14.04.20131129-0ubuntu1_i386.deb tmpdir-1404
dpkg-deb --control overlay-scrollbar-gtk2_0.2.16+r359+14.04.20131129-0ubuntu1_i386.deb tmpdir-1404/DEBIAN
nano tmpdir-1404/DEBIAN/control ## edit, see below
dpkg -b tmpdir-1404 overlay-scrollbar-gtk2_0.2.16+r359+14.04.20131129-0ubuntu1_hacked_i386.deb
# dpkg-deb: warning: 'tmpdir-1404/DEBIAN/control' contains user-defined field 'XB-Ignore'
# dpkg-deb: warning: ignoring 1 warning about the control file(s)
In the nano
edit, I do the same as in Ignoring specific unmet dependencies with aptitude? - I comment the dependency using a XB* tag:
...
Depends: libc6 (>= 2.4), libcairo2 (>= 1.10.0), libglib2.0-0 (>= 2.37.3), libgt$
XB-Ignore: overlay-scrollbar, # hack: ignore this dependency for i386
...
And now, installing the hacked .deb passes without a problem:
$ sudo dpkg -i overlay-scrollbar-gtk2_0.2.16+r359+14.04.20131129-0ubuntu1_hacked_i386.deb
Selecting previously unselected package overlay-scrollbar-gtk2:i386.
(Reading database ... 227214 files and directories currently installed.)
Preparing to unpack overlay-scrollbar-gtk2_0.2.16+r359+14.04.20131129-0ubuntu1_hacked_i386.deb ...
Unpacking overlay-scrollbar-gtk2:i386 (0.2.16+r359+14.04.20131129-0ubuntu1) ...
Setting up overlay-scrollbar-gtk2:i386 (0.2.16+r359+14.04.20131129-0ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
Looks good (and actually, seems to be good - because when I run 32-bit programs that used to complain with Gtk-Message: Failed to load module "overlay-scrollbar"
after this, they do not complain anymore) - but now when I do an apt-get upgrade
, I get the "packages have been kept back" message:
$ sudo apt-get update
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
overlay-scrollbar-gtk2:i386
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
... but what is even stranger, when I do apt-get dist-upgrade
, there are no warnings whatsoever?!:
$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
This page apt-get dist-upgrade doesn't fix 'The following packages have been kept back' also notes:
That means they've been kept back for a more difficult reason than new dependencies or needing the removal of other packages.
So, does anyone know - what would be the reason for "keeping back" the package in this case - and how to get rid of that warning when doing an update
? Clearly, I don't want to do apt-get install
of the package here, as it is hacked and I'd want to install it directly from the .deb - and apt-get
cannot install a .deb file directly, only dpkg
can do that...
EDIT: as @ByteCommander suggested in comments, I tried aptitude
:
$ sudo aptitude upgrade
Resolving dependencies...
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
That doesn't tell much - this is more revealing:
$ sudo aptitude full-upgrade
The following packages will be upgraded:
overlay-scrollbar-gtk2:i386{b}
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.3 kB of archives. After unpacking 0 B will be used.
The following packages have unmet dependencies:
overlay-scrollbar-gtk2:i386 : Depends: overlay-scrollbar:i386 which is a virtual package.
The following actions will resolve these dependencies:
Remove the following packages:
1) overlay-scrollbar-gtk2:i386
Accept this solution? [Y/n/q/?] q
Abandoning all efforts to resolve these dependencies.
Abort.
Hmm... I thought I had already removed the dependency to overlay-scrollbar:i386
??!
Also, here is apt-cache policy
as per @ByteCommander comment:
$ apt-cache policy overlay-scrollbar:i386 overlay-scrollbar
overlay-scrollbar:i386:
Installed: (none)
Candidate: (none)
Version table:
overlay-scrollbar:
Installed: 0.2.16+r359+14.04.20131129-0ubuntu1
Candidate: 0.2.16+r359+14.04.20131129-0ubuntu1
Version table:
*** 0.2.16+r359+14.04.20131129-0ubuntu1 0
500 http://dk.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
$ apt-cache policy overlay-scrollbar-gtk2:i386 overlay-scrollbar-gtk2
overlay-scrollbar-gtk2:i386:
Installed: 0.2.16+r359+14.04.20131129-0ubuntu1
Candidate: 0.2.16+r359+14.04.20131129-0ubuntu1
Version table:
0.2.16+r359+14.04.20131129-0ubuntu1 0
500 http://dk.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
*** 0.2.16+r359+14.04.20131129-0ubuntu1 0
100 /var/lib/dpkg/status
overlay-scrollbar-gtk2:
Installed: 0.2.16+r359+14.04.20131129-0ubuntu1
Candidate: 0.2.16+r359+14.04.20131129-0ubuntu1
Version table:
*** 0.2.16+r359+14.04.20131129-0ubuntu1 0
500 http://dk.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
Hmmm... could be something with /var/lib/dpkg/status
, but not yet sure what it is...
No comments:
Post a Comment