Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
* What outcome did you expect instead?
I wanted to ping a testing package. Beforehand I had no preference in effect.
Events unfolding:
apt-get update
apt-get upgrade
# -> turned up nothing, system is up-to-date
apt-get autoremove
# -> nothing happened
# added preferences for security, stable and unstable in preferences.d
# added testing lines to sources.list:
deb http://ftp.hu.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.hu.debian.org/debian/ testing main contrib non-free
apt-get update
apt-get upgrade
# -> nothing happened
### ###
### ERROR ###
### ###
apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
Hmm, seems like the AutoRemover destroyed something which really
shouldn't happen. Please file a bug report against apt.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libavcodec57 : Depends: libx264-148 but it is not going to be installed
Depends: libx265-95 (>= 2.1) but it is not going to be installed
E: Internal Error, AutoRemover broke stuff
# So, I went on to disable the testing lines in the sources.list and try to resolve the situation:
#deb http://ftp.hu.debian.org/debian/ testing main contrib non-free
#deb-src http://ftp.hu.debian.org/debian/ testing main contrib non-free
apt-get update
apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be DOWNGRADED:
bind9-host dnsutils ffmpeg freerdp-x11 host libbind9-140 libdns-export162 libdns162 libfreerdp-cache1.1 libfreerdp-client1.1 libfreerdp-codec1.1
libfreerdp-common1.1.0 libfreerdp-core1.1 libfreerdp-crypto1.1 libfreerdp-gdi1.1 libfreerdp-locale1.1 libfreerdp-plugins-standard libfreerdp-primitives1.1
libfreerdp-rail1.1 libfreerdp-utils1.1 libgnutls-openssl27 libgnutls30 libisc-export160 libisc160 libisccc140 libisccfg140 liblwres141 libwinpr-crt0.1
libwinpr-crypto0.1 libwinpr-dsparse0.1 libwinpr-environment0.1 libwinpr-file0.1 libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1
libwinpr-interlocked0.1 libwinpr-library0.1 libwinpr-path0.1 libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-synch0.1
libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-utils0.1 libxfreerdp-client1.1 linux-compiler-gcc-6-x86 linux-kbuild-4.9 linux-libc-dev linux-libc-dev:i386
0 upgraded, 0 newly installed, 51 downgraded, 0 to remove and 9 not upgraded.
Need to get 6,808 kB/16.3 MB of archives.
After this operation, 359 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
# quick check in /var/log/dpkg.log
# I didn't upgrade anything in the last 4 days.
# So this is just th security packages.
# OK, maybe it is the preferences, which I did not remove, so clean up /etc/apt/preferences.d
rm /etc/apt/preferences.d/*
apt-get update
apt-get 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.
# hm. recreate stable.pref and security.pref
apt-get update
apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be DOWNGRADED:
bind9-host dnsutils ffmpeg freerdp-x11 host libbind9-140 libdns-export162 libdns162 libfreerdp-cache1.1 libfreerdp-client1.1 libfreerdp-codec1.1
libfreerdp-common1.1.0 libfreerdp-core1.1 libfreerdp-crypto1.1 libfreerdp-gdi1.1 libfreerdp-locale1.1 libfreerdp-plugins-standard libfreerdp-primitives1.1
libfreerdp-rail1.1 libfreerdp-utils1.1 libgnutls-openssl27 libgnutls30 libisc-export160 libisc160 libisccc140 libisccfg140 liblwres141 libwinpr-crt0.1
libwinpr-crypto0.1 libwinpr-dsparse0.1 libwinpr-environment0.1 libwinpr-file0.1 libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1
libwinpr-interlocked0.1 libwinpr-library0.1 libwinpr-path0.1 libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-synch0.1
libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-utils0.1 libxfreerdp-client1.1 linux-compiler-gcc-6-x86 linux-kbuild-4.9 linux-libc-dev linux-libc-dev:i386
0 upgraded, 0 newly installed, 51 downgraded, 0 to remove and 9 not upgraded.
Need to get 6,808 kB/16.3 MB of archives.
After this operation, 359 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
# seems legit, now try
apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
Hmm, seems like the AutoRemover destroyed something which really
shouldn't happen. Please file a bug report against apt.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libavcodec57 : Depends: libx264-148 but it is not going to be installed
Depends: libx265-95 (>= 2.1) but it is not going to be installed
E: Internal Error, AutoRemover broke stuff
So the presence of the apt-pinning files somehow:
1) falsely produces an error report
2) uncovers otherwise hidden dependency error
# Let's check libavcodec57!
dpkg -l | grep libavcodec57
ii libavcodec57:amd64 10:3.3.5-dmo1+deb9u1 amd64 Library to encode decode multimedia streams - runtime files
apt-cache show libavcodec57
# 3 versions of the same package is listed - note that at this point the testing sources are disabled in sources.list!
# only the relevant stuff:
Package: libavcodec57
Version: 10:3.3.5-dmo1+deb9u1
Maintainer: Christian Marillat <marillat@deb-multimedia.org>
Depends: libx264-150, libx265-116 (>= 1:2.4)
Package: libavcodec57
Version: 7:3.2.9-1~deb9u1
Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
Depends: libx264-148, libx265-95 (>= 2.1) ### this triggered the error message! ###
Package: libavcodec57
Version: 7:3.2.7-1~deb9u1 # <- the minor version number is 7 instead of 9
Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
Depends: libx264-148, libx265-95 (>= 2.1) ### or this
Meaning, I have multiple versions of the same package in DB, I have installed the newest version, and now apt thinks an older version is installed, which has unmet dependencies.
But which repos these packages come from?
It seems, 1 is from
http://www.deb-multimedia.org
the other is from debian stable?
deb-multimedia.org has the installed version:
libavcodec57 (10:3.3.5-dmo1+deb9u1)
stretch security has:
libavcodec57 (7:3.2.9-1~deb9u1)
no idea, where the
libavcodec57 (7:3.2.9-1~deb9u1)
came from...
I don't know, if having the same package listed with different versions is a legit state, but it seems it can brake things:
1) no apt-pinnning is in effect
2) install some_package.version_100 from repo_1
3) add repo_2, and
4) set its priority higher than repo_1
5) repo_2 contains some_package.version_99
6) upgrade works, since it does not want to touch some_package
7) dist-upgrade fails, since it wants to downgrade some_package, but somehow fails to find a solution and it reports (it seems, incorrectly) that apt-get autoremove has broken stuff.
*** End of the template - remove these template lines ***