[Aptitude-devel] Bug#844300: Bug#844300: nvidia-driver-libs:amd64: upgrade failure due to dependency issue

Vincent Lefevre vincent at vinc17.net
Tue Nov 22 12:30:54 UTC 2016


On 2016-11-22 12:36:32 +0100, Axel Beckert wrote:
> Vincent Lefevre wrote:
> > In any case, if the dependencies are correct, the package system
> > should never be put in a broken state.
> 
> I'm sorry but that's wrong. Maintainer scripts can still put packages
> in a broken state even if dependencies are correct.

Hmmm... After a closer look, this seems more complex than I've
thought. I've just noticed that the dpkg output does not match the
aptitude log (I wasn't aware of that, hence my confusion), but the
problem may also come from in which order operations on a group of
packages is done. Perhaps a bug in dpkg.

The aptitude log is the following:

Aptitude 0.8.3: log report
Mon, Nov 14 2016 11:28:14 +0100

  IMPORTANT: this log only lists intended actions; actions which fail
  due to dpkg problems may not be completed.

Will install 17 packages, and remove 27 packages.
44.5 MB of disk space will be freed
========================================
[REMOVE, NOT USED] libegl-nvidia0:i386 367.57-1
[REMOVE, NOT USED] libegl1-glvnd-nvidia:i386 367.57-1
[REMOVE, NOT USED] libgldispatch0-nvidia:i386 367.57-1
[REMOVE, NOT USED] libgles-nvidia1:amd64 367.57-1
[REMOVE, NOT USED] libgles-nvidia1:i386 367.57-1
[REMOVE, NOT USED] libgles-nvidia2:amd64 367.57-1
[REMOVE, NOT USED] libgles-nvidia2:i386 367.57-1
[REMOVE, NOT USED] libgles1-glvnd-nvidia:amd64 367.57-1
[REMOVE, NOT USED] libgles1-glvnd-nvidia:i386 367.57-1
[REMOVE, NOT USED] libgles2-glvnd-nvidia:amd64 367.57-1
[REMOVE, NOT USED] libgles2-glvnd-nvidia:i386 367.57-1
[REMOVE, NOT USED] libglx-nvidia0:amd64 367.57-1
[REMOVE, NOT USED] libglx-nvidia0:i386 367.57-1
[REMOVE, NOT USED] libglx0-glvnd-nvidia:amd64 367.57-1
[REMOVE, NOT USED] libglx0-glvnd-nvidia:i386 367.57-1
[REMOVE, NOT USED] libnvidia-cfg1:amd64 367.57-1
[REMOVE, NOT USED] libnvidia-cfg1:i386 367.57-1
[REMOVE, NOT USED] libnvidia-eglcore:i386 367.57-1
[REMOVE, NOT USED] libopengl0-glvnd-nvidia:amd64 367.57-1
[REMOVE, NOT USED] libopengl0-glvnd-nvidia:i386 367.57-1
[REMOVE, NOT USED] libvulkan1:amd64 1.0.26.0+dfsg1-1
[REMOVE, NOT USED] libvulkan1:i386 1.0.26.0+dfsg1-1
[REMOVE, NOT USED] nvidia-driver-libs:i386 367.57-1
[REMOVE, NOT USED] nvidia-driver-libs-i386:i386 367.57-1
[REMOVE, NOT USED] nvidia-vulkan-common:amd64 367.57-1
[REMOVE, NOT USED] nvidia-vulkan-icd:amd64 367.57-1
[REMOVE, NOT USED] nvidia-vulkan-icd:i386 367.57-1
[HOLD, DEPENDENCIES] evolution-common:amd64 3.22.1-2
[HOLD, DEPENDENCIES] evolution-data-server:amd64 3.22.1-2
[HOLD, DEPENDENCIES] evolution-data-server-common:amd64 3.22.1-2
[HOLD, DEPENDENCIES] evolution-plugins:amd64 3.22.1-2
[HOLD, DEPENDENCIES] exim4:amd64 4.87-3
[HOLD, DEPENDENCIES] exim4-base:amd64 4.87-3+b1
[HOLD, DEPENDENCIES] exim4-config:amd64 4.87-3
[HOLD, DEPENDENCIES] exim4-daemon-light:amd64 4.87-3+b1
[HOLD, DEPENDENCIES] gedit-common:amd64 3.21.90-2
[HOLD, DEPENDENCIES] gir1.2-gst-plugins-base-1.0:amd64 1.8.3-1
[HOLD, DEPENDENCIES] gir1.2-gstreamer-1.0:amd64 1.8.3-1
[HOLD, DEPENDENCIES] gir1.2-totem-1.0:amd64 3.21.91-1
[HOLD, DEPENDENCIES] gstreamer1.0-libav:amd64 1.8.3-1
[HOLD, DEPENDENCIES] gstreamer1.0-plugins-bad:amd64 1.8.3-1+b3
[HOLD, DEPENDENCIES] gstreamer1.0-plugins-base:amd64 1.8.3-1
[HOLD, DEPENDENCIES] gstreamer1.0-plugins-good:amd64 1.8.3-1+b1
[HOLD, DEPENDENCIES] gstreamer1.0-plugins-ugly:amd64 1.8.3-1
[HOLD, DEPENDENCIES] gstreamer1.0-pulseaudio:amd64 1.8.3-1+b1
[HOLD, DEPENDENCIES] gstreamer1.0-x:amd64 1.8.3-1
[HOLD, DEPENDENCIES] libavcodec57:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libavfilter6:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libavformat57:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libavresample3:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libavutil55:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libcamel-1.2-59:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libclutter-gtk-1.0-0:amd64 1.8.0-2
[HOLD, DEPENDENCIES] libcmis-0.5-5v5:amd64 0.5.1+git20160603-3
[HOLD, DEPENDENCIES] libcupsfilters1:amd64 1.11.6-1
[HOLD, DEPENDENCIES] libebackend-1.2-10:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libebook-1.2-16:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libebook-contacts-1.2-2:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libecal-1.2-19:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libedata-book-1.2-25:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libedata-cal-1.2-28:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libedataserver-1.2-22:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libedataserverui-1.2-1:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libevolution:amd64 3.22.1-2
[HOLD, DEPENDENCIES] libgstreamer-plugins-base1.0-0:amd64 1.8.3-1
[HOLD, DEPENDENCIES] libgstreamer1.0-0:amd64 1.8.3-1
[HOLD, DEPENDENCIES] libkpathsea6:amd64 2016.20160513.41080-7
[HOLD, DEPENDENCIES] liblircclient0:amd64 0.9.0~pre1-1.2
[HOLD, DEPENDENCIES] libmutter0i:amd64 3.22.0-1
[HOLD, DEPENDENCIES] libphonenumber7:amd64 7.1.0-5
[HOLD, DEPENDENCIES] libpoppler-dev:amd64 0.44.0-3
[HOLD, DEPENDENCIES] libpoppler-glib8:amd64 0.44.0-3
[HOLD, DEPENDENCIES] libpoppler-qt4-4:amd64 0.44.0-3
[HOLD, DEPENDENCIES] libpostproc54:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libptexenc1:amd64 2016.20160513.41080-7
[HOLD, DEPENDENCIES] libreoffice-avmedia-backend-gstreamer:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-base:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-base-core:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-base-drivers:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-calc:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-core:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-draw:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-gtk3:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-impress:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-math:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-ogltrans:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-pdfimport:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-sdbc-hsqldb:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-sdbc-postgresql:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libreoffice-writer:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] libswresample2:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libswscale4:amd64 7:3.1.5-1
[HOLD, DEPENDENCIES] libsynctex1:amd64 2016.20160513.41080-7
[HOLD, DEPENDENCIES] libtexlua52:amd64 2016.20160513.41080-7
[HOLD, DEPENDENCIES] libtexluajit2:amd64 2016.20160513.41080-7
[HOLD, DEPENDENCIES] libtotem0:amd64 3.21.91-1
[HOLD, DEPENDENCIES] libvlc5:amd64 2.2.4-7
[HOLD, DEPENDENCIES] libvlccore8:amd64 2.2.4-7
[HOLD, DEPENDENCIES] mutter:amd64 3.22.0-1
[HOLD, DEPENDENCIES] mutter-common:amd64 3.22.0-1
[HOLD, DEPENDENCIES] nvidia-kernel-dkms:amd64 367.57-1
[HOLD, DEPENDENCIES] pandoc-data:amd64 1.17.2~dfsg-2
[HOLD, DEPENDENCIES] python3-uno:amd64 1:5.2.3~rc3-1
[HOLD, DEPENDENCIES] texlive-binaries:amd64 2016.20160513.41080-7
[HOLD, DEPENDENCIES] totem-common:amd64 3.21.91-1
[HOLD, DEPENDENCIES] totem-plugins:amd64 3.21.91-1
[HOLD, DEPENDENCIES] uno-libs3:amd64 5.2.3~rc3-1
[HOLD, DEPENDENCIES] ure:amd64 5.2.3~rc3-1
[HOLD] aptitude:amd64 0.8.3-1+b1
[HOLD] aptitude-dbgsym:amd64 0.8.3-1+b1
[HOLD] dconf-editor:amd64 3.20.3-1
[HOLD] evolution:amd64 3.22.1-2
[HOLD] gcc-snapshot:amd64 20160508-1
[HOLD] gedit:amd64 3.21.90-2
[HOLD] gedit-plugins:amd64 3.20.0-2
[HOLD] gir1.2-gtk-3.0:amd64 3.20.9-1
[HOLD] gtk-3-examples:amd64 3.20.9-1
[HOLD] gtk-update-icon-cache:amd64 3.20.9-1
[HOLD] inkscape:amd64 0.91-11+b1
[HOLD] libboost-dev:amd64 1.61.0.2
[HOLD] libboost-program-options-dev:amd64 1.61.0.2
[HOLD] libboost-system-dev:amd64 1.61.0.2
[HOLD] libboost-thread-dev:amd64 1.61.0.2
[HOLD] libgail-3-0:amd64 3.20.9-1
[HOLD] libgstreamer-plugins-bad1.0-0:amd64 1.8.3-1+b3
[HOLD] libgtk-3-0:amd64 3.20.9-1
[HOLD] libgtk-3-bin:amd64 3.20.9-1
[HOLD] libgtk-3-common:amd64 3.20.9-1
[HOLD] libgtk-3-dev:amd64 3.20.9-1
[HOLD] libpoppler-private-dev:amd64 0.44.0-3
[HOLD] libreoffice:amd64 1:5.2.3~rc3-1
[HOLD] libreoffice-evolution:amd64 1:5.2.3~rc3-1
[HOLD] libreoffice-gnome:amd64 1:5.2.3~rc3-1
[HOLD] libreoffice-report-builder-bin:amd64 1:5.2.3~rc3-1
[HOLD] libvlc-bin:amd64 2.2.4-7
[HOLD] pandoc:amd64 1.17.2~dfsg-2+b1
[HOLD] polari:amd64 3.20.3-1
[HOLD] poppler-utils:amd64 0.44.0-3
[HOLD] totem:amd64 3.21.91-1
[HOLD] vlc:amd64 2.2.4-7
[HOLD] vlc-bin:amd64 2.2.4-7
[HOLD] vlc-data:amd64 2.2.4-7
[HOLD] vlc-l10n:amd64 2.2.4-7
[HOLD] vlc-plugin-base:amd64 2.2.4-7
[HOLD] vlc-plugin-qt:amd64 2.2.4-7
[HOLD] vlc-plugin-skins2:amd64 2.2.4-7
[HOLD] vlc-plugin-video-output:amd64 2.2.4-7
[HOLD] vlc-plugin-video-splitter:amd64 2.2.4-7
[HOLD] vlc-plugin-visualization:amd64 2.2.4-7
[UPGRADE] libegl-nvidia0:amd64 367.57-1 -> 367.57-2
[UPGRADE] libegl1-glvnd-nvidia:amd64 367.57-1 -> 367.57-2
[UPGRADE] libgl1-nvidia-glx:amd64 367.57-1 -> 367.57-2
[UPGRADE] libgl1-nvidia-glx:i386 367.57-1 -> 367.57-2
[UPGRADE] libgldispatch0-nvidia:amd64 367.57-1 -> 367.57-2
[UPGRADE] libnvidia-eglcore:amd64 367.57-1 -> 367.57-2
[UPGRADE] libnvidia-glcore:amd64 367.57-1 -> 367.57-2
[UPGRADE] libnvidia-glcore:i386 367.57-1 -> 367.57-2
[UPGRADE] libnvidia-ml1:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-alternative:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-driver:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-driver-bin:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-driver-libs:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-kernel-support:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-legacy-check:amd64 367.57-1 -> 367.57-2
[UPGRADE] nvidia-vdpau-driver:amd64 367.57-1 -> 367.57-2
[UPGRADE] xserver-xorg-video-nvidia:amd64 367.57-1 -> 367.57-2
========================================

Log complete.

Note the line:

[REMOVE, NOT USED] nvidia-driver-libs:i386 367.57-1

So, nvidia-driver-libs:i386 is to be removed. But the only packages
that have been removed in the dpkg output are:

Removing nvidia-driver-libs-i386:i386 (367.57-1) ...
Removing libopengl0-glvnd-nvidia:i386 (367.57-1) ...
Removing nvidia-vulkan-icd:i386 (367.57-1) ...
Removing libglx-nvidia0:i386 (367.57-1) ...
Removing libglx0-glvnd-nvidia:i386 (367.57-1) ...
Removing libgles-nvidia2:i386 (367.57-1) ...
Removing libgles2-glvnd-nvidia:i386 (367.57-1) ...
Removing libgles-nvidia1:i386 (367.57-1) ...
Removing libgles1-glvnd-nvidia:i386 (367.57-1) ...
Removing libgles-nvidia1:amd64 (367.57-1) ...
Removing libgles-nvidia2:amd64 (367.57-1) ...
Removing libgles1-glvnd-nvidia:amd64 (367.57-1) ...
Removing libgles2-glvnd-nvidia:amd64 (367.57-1) ...
Removing nvidia-vulkan-icd:amd64 (367.57-1) ...
Removing libglx-nvidia0:amd64 (367.57-1) ...
Removing libglx0-glvnd-nvidia:amd64 (367.57-1) ...
Removing libnvidia-cfg1:amd64 (367.57-1) ...
Removing libnvidia-cfg1:i386 (367.57-1) ...
Removing libopengl0-glvnd-nvidia:amd64 (367.57-1) ...
Removing libvulkan1:i386 (1.0.26.0+dfsg1-1) ...
Removing libvulkan1:amd64 (1.0.26.0+dfsg1-1) ...
Removing nvidia-vulkan-common (367.57-1) ...

This does not include nvidia-driver-libs:i386. Then, the upgrades
are performed, then the packages are configured, so that one gets
the failure due to the missing removal:

dpkg: error processing package nvidia-driver-libs:amd64 (--configure):
 package nvidia-driver-libs:amd64 367.57-2 cannot be configured because nvidia-driver-libs:i386 is at a different version (367.57-1)

I suppose that nvidia-driver-libs:i386 should have been removed earlier.
Whose fault is it?

> From an earlier mail of you:
> > But an upgrade should not fail even when the apt sources are not up
> > to date: that's the goal of Depends and Breaks to make sure that the
> > package system remains in a consistent state.
> 
> Also wrong. Example: Not uptodate package lists can lead to download
> failures (aptitude asks then if it should continue anyways) and hence
> (if the user decides to continue) to packages where dependencies are
> missing as they were not downloadable.

But in this case, the upgrade should be aborted (possibly after
a question to the user) before anything is installed/removed,
so that the system can be left in a consistent state. Anyway,
this was not the problem here.

> Anyways, in the whole correspondence I saw nowhere that you also tried
> the same with apt or apt-get. Can you please check if upgrading these
> packages with apt or apt-get leads to the same issue? (If so, it's
> clearly no issue in aptitude.)

There are other issues with apt (basically about recommendations
not being fulfilled, partly due to internal conflicts in the nvidia
packages), but the system is always put in a consistent state (I've
tried for installation only, not upgrade).

I have not tried yet to reproduce the bug, because this was too late
when it occurred.

> Additionally it could be helpful to provide a state bundle (man
> aptitude-create-state-bundle) of the situation, either before the
> issue appears (if you can reproduce it) or directly after it has
> happened. TIA!

I'll try to go back to the previous state by removing the nvidia
packages and installing the 367.57-1 from testing, then see if I
can reproduce the bug (I'll also try with apt).

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



More information about the Aptitude-devel mailing list