On Mon, 31 Oct 2022 at 11:21:57 +0100, Markus Ritzmann wrote: > > The following packages have unmet dependencies: > > libc6-dev : Depends: libc6 (= 2.31-13+deb11u4) but 2.31-13+deb11u5 is to be > > installed > > E: Unable to correct problems, you have held broken packages. > > Step to reproduce: > > > docker run --platform linux/amd64 -it debian:bullseye > > echo 'deb http://deb.debian.org/debian bullseye main' > > > /etc/apt/sources.list
The debian:bullseye Docker image is produced by Debian developers, but is not an official Debian product. It's built by <https://github.com/debuerreotype/debuerreotype>. If you used debootstrap or mmdebstrap to create your own chroot or container that only includes bullseye, and not bullseye-security or bullseye-updates, then you would get libc6 (= 2.31-13+deb11u4) in the chroot/container, and libc6-dev (= 2.31-13+deb11u4) would install successfully. However, because you're using a container image that has been made by someone else, what you do with that container afterwards needs to be consistent with the assumptions they made when they created the image. Specifically, the debuerreotype maintainers bootstrapped that Docker image with bullseye-security and bullseye-updates included. That means you can't assume that an apt source for plain bullseye is sufficient to get a full set of matching packages. (I think the debuerreotype team were correct to include -security and -updates in their images: for most use-cases, you'll want those.) smcv