• libc6-dev have unmet dependencies in stable-bullseye

    From Markus Ritzmann@21:1/5 to All on Mon Oct 31 11:40:02 2022
    Hi

    Currently libc6-dev cannot be installed on bullseye because of unmet dependencies.

    Error message:

    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 apt-get clean
    apt-get update
    apt-get install libc6-dev

    The problem only exists when "bullseye-updates" is missing from the package sources.

    Works:

    $ cat /etc/apt/sources.list
    deb http://deb.debian.org/debian bullseye main
    deb http://deb.debian.org/debian-security bullseye-security main
    deb http://deb.debian.org/debian bullseye-updates main

    Does not work:

    $ cat /etc/apt/sources.list
    deb http://deb.debian.org/debian bullseye main

    I am not sure if "bullseye-updates main" are absolutely necessary (perhaps someone can tell me). In any case, "bullseye main" is currently in a non-functioning state, without "bullseye-updates main". Thought I'd write this to point that out.

    Best,
    Markus

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Markus Ritzmann on Mon Oct 31 14:10:01 2022
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Markus@21:1/5 to You on Mon Oct 31 17:10:01 2022
    Hi,

    Thank you for your answer.

    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.

    The Docker example was meant so that the problem could be reproduced
    quickly. I can see the same problem with the official image debian-11.5.0-amd64-netinst.iso. Sorry for the confusion.

    Step to reproduce:

    1. Install Debian with debian-11.5.0-amd64-netinst.iso
    2. echo 'deb http://deb.debian.org/debian bullseye main' > /etc/apt/sources.list
    3. apt-get clean
    4. apt-get update
    5. apt-get install libc6-dev

    Then I get the same message:

    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.

    You write:

    That means you can't assume that an apt source for plain bullseye
    is sufficient to get a full set of matching packages.

    Perhaps this is also the case for debian-11.5.0-amd64-netinst.iso. I was
    not sure at that point. Maybe that was a wrong assumption I made.

    Best,
    Markus

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tobias Frost@21:1/5 to Markus on Tue Nov 1 08:40:01 2022
    On Mon, Oct 31, 2022 at 04:42:00PM +0100, Markus wrote:
    Hi,

    Thank you for your answer.

    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.

    The Docker example was meant so that the problem could be reproduced
    quickly. I can see the same problem with the official image debian-11.5.0-amd64-netinst.iso. Sorry for the confusion.

    Step to reproduce:

    1. Install Debian with debian-11.5.0-amd64-netinst.iso
    2. echo 'deb http://deb.debian.org/debian bullseye main' > /etc/apt/sources.list
    3. apt-get clean
    4. apt-get update
    5. apt-get install libc6-dev

    Then I get the same message:

    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.

    You write:

    That means you can't assume that an apt source for plain bullseye
    is sufficient to get a full set of matching packages.

    netinst will by default enable security updates and stable updates [1]
    and has installed *during installation* packages from there (namely at least libc6 (= 2.31-13+deb11u5).
    Your "2." from above disabled those repositories, so apt can't use
    those repositories anymore and will not able to resolve the dependencies.
    This is the problem you are seeing.

    Perhaps this is also the case for debian-11.5.0-amd64-netinst.iso. I was
    not sure at that point. Maybe that was a wrong assumption I made.

    [1] See installation manual 6.3.6.1.

    Best,
    Markus

    --
    tobi

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)