Skip to content

piuparts fails when dependencies of previous version cannot be satisfied

I uploaded mongo-cxx-driver 4.1.4-1, and piuparts tasks fail because the dependencies of the previous version (4.0.0-1 in this case) cannot be satisfied. Specifically, the recent mongo-c-driver transition removed the binary packages libbson-1.0-0t64 and libmongoc-1.0-0t64, replacing them with libbson2-2 and libmongoc2-2`, respectively.

So, when the piuparts task attempts to install the packages of mongo-cxx-driver 4.0.0-1, this is the result:

0m14.1s DUMP: 
  Package: libbsoncxx-dev
  Source: mongo-cxx-driver
  Version: 4.0.0-1
  Installed-Size: 460
  Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
  Architecture: amd64
  Depends: libbsoncxx-noabi (= 4.0.0-1)
  Description: Library to parse and generate BSON documents - dev files
  Description-md5: 72dfa140819ca33867420fd5061e92bd
  Homepage: https://mongocxx.org/
  Section: libdevel
  Priority: optional
  Filename: pool/main/m/mongo-cxx-driver/libbsoncxx-dev_4.0.0-1_amd64.deb
  Size: 53804
  MD5sum: 74e77d1eda1dc2a2f2f4c88b4059fdf1
  SHA256: 6a614592cf8f408a8a807b133c577589e0388cd610cd97bd7627e209494a9de4
0m14.1s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-dev']
0m14.1s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi-dbgsym']
0m14.2s DUMP: 
  E: No packages found
0m14.2s DEBUG: Command failed (status=100), but ignoring error: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi-dbgsym']
0m14.2s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi']
0m14.4s DUMP: 
  Package: libbsoncxx-noabi
  Source: mongo-cxx-driver
  Version: 4.0.0-1
  Installed-Size: 195
  Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
  Architecture: amd64
  Depends: libbson-1.0-0t64 (>= 1.29.0), libc6 (>= 2.14), libgcc-s1 (>= 3.0), libstdc++6 (>= 13.1)
  Description: Library to parse and generate BSON documents - runtime files
  Description-md5: 6f2949db928872723bee3d027f4e58f7
  Homepage: https://mongocxx.org/
  Section: libs
  Priority: optional
  Filename: pool/main/m/mongo-cxx-driver/libbsoncxx-noabi_4.0.0-1_amd64.deb
  Size: 48920
  MD5sum: e62b2bd8ea20f79b57ceead0a840400b
  SHA256: 558745910fe11fa16f944b8a8da90e717d337de7ca5e81a14acacc41b49f265f
0m14.4s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi']
0m14.4s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-dev']
0m14.6s DUMP: 
  Package: libmongocxx-dev
  Source: mongo-cxx-driver
  Version: 4.0.0-1
  Installed-Size: 990
  Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
  Architecture: amd64
  Depends: libmongocxx-noabi (= 4.0.0-1), libbsoncxx-dev (= 4.0.0-1), libssl-dev, zlib1g-dev, libsnappy-dev, libutf8proc-dev
  Description: MongoDB C++ client library - dev files
  Description-md5: 3d71ff2a964206f29d4189d9f34310ab
  Homepage: https://mongocxx.org/
  Section: libdevel
  Priority: optional
  Filename: pool/main/m/mongo-cxx-driver/libmongocxx-dev_4.0.0-1_amd64.deb
  Size: 81208
  MD5sum: 52398f2d44d5eb7b9091713ef1732282
  SHA256: f2a7ac7e47680b1b6ad86a1e644216ed52a9b8232e6b6cc645d0a68a8dda4b06
0m14.6s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-dev']
0m14.6s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-doc']
0m14.7s DUMP: 
  Package: libmongocxx-doc
  Source: mongo-cxx-driver
  Version: 4.0.0-1
  Installed-Size: 18939
  Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
  Architecture: all
  Description: MongoDB C++ client library - documentation
  Description-md5: 22d0ca7e7d9844d20ad65eb38be7980e
  Homepage: https://mongocxx.org/
  Section: doc
  Priority: optional
  Filename: pool/main/m/mongo-cxx-driver/libmongocxx-doc_4.0.0-1_all.deb
  Size: 741292
  MD5sum: 19d229d2e81a0b82a50f4322a3a88466
  SHA256: be2c80b0480778e9b734b8e21a724b375e8095731ae91cb145dbd87375992498
0m14.7s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-doc']
0m14.7s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi-dbgsym']
0m14.9s DUMP: 
  E: No packages found
0m14.9s DEBUG: Command failed (status=100), but ignoring error: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi-dbgsym']
0m14.9s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi']
0m15.1s DUMP: 
  Package: libmongocxx-noabi
  Source: mongo-cxx-driver
  Version: 4.0.0-1
  Installed-Size: 832
  Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
  Architecture: amd64
  Depends: libbson-1.0-0t64 (>= 1.29.0), libbsoncxx-noabi, libc6 (>= 2.14), libgcc-s1 (>= 3.0), libmongoc-1.0-0t64 (>= 1.29.0), libstdc++6 (>= 13.1)
  Description: MongoDB C++ client library - runtime files
  Description-md5: 23eb0075af7fa0539670453618e1bd01
  Homepage: https://mongocxx.org/
  Section: libs
  Priority: optional
  Filename: pool/main/m/mongo-cxx-driver/libmongocxx-noabi_4.0.0-1_amd64.deb
  Size: 206244
  MD5sum: 394f8b88ca6ae50fab4f267f37c1eda3
  SHA256: 71a18a1299dc392a9d3e2156f8f22455972f7936284816e15a6a3ab2dd7d1ae7
0m15.1s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi']
0m15.1s INFO: apt-cache knows about the following packages: libbsoncxx-dev, libbsoncxx-noabi, libmongocxx-dev, libmongocxx-doc, libmongocxx-noabi
0m15.1s INFO: the following packages are not in the archive: libbsoncxx-noabi-dbgsym, libmongocxx-noabi-dbgsym
0m15.1s INFO: Running scripts pre_test
0m15.1s INFO: Running scripts pre_install
0m15.1s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy']
0m15.1s DUMP: 
  Package files:
   100 /var/lib/dpkg/status
       release a=now
     1 http://deb.debian.org/debian experimental/main amd64 Packages
       release o=Debian,a=experimental,n=rc-buggy,l=Debian,c=main,b=amd64
       origin deb.debian.org
   500 http://deb.debian.org/debian sid/non-free-firmware amd64 Packages
       release o=Debian,a=unstable,n=sid,l=Debian,c=non-free-firmware,b=amd64
       origin deb.debian.org
   500 http://deb.debian.org/debian sid/non-free amd64 Packages
       release o=Debian,a=unstable,n=sid,l=Debian,c=non-free,b=amd64
       origin deb.debian.org
   500 http://deb.debian.org/debian sid/contrib amd64 Packages
       release o=Debian,a=unstable,n=sid,l=Debian,c=contrib,b=amd64
       origin deb.debian.org
   500 http://deb.debian.org/debian sid/main amd64 Packages
       release o=Debian,a=unstable,n=sid,l=Debian,c=main,b=amd64
       origin deb.debian.org
  Pinned packages:
0m15.1s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy']
0m15.1s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
0m15.2s DUMP: 
  libbsoncxx-dev:
    Installed: (none)
    Candidate: 4.0.0-1
    Version table:
       4.0.0-1 1
            1 http://deb.debian.org/debian experimental/main amd64 Packages
  libbsoncxx-noabi:
    Installed: (none)
    Candidate: 4.0.0-1
    Version table:
       4.0.0-1 1
            1 http://deb.debian.org/debian experimental/main amd64 Packages
  libmongocxx-dev:
    Installed: (none)
    Candidate: 4.0.0-1
    Version table:
       4.0.0-1 1
            1 http://deb.debian.org/debian experimental/main amd64 Packages
  libmongocxx-doc:
    Installed: (none)
    Candidate: 4.0.0-1
    Version table:
       4.0.0-1 1
            1 http://deb.debian.org/debian experimental/main amd64 Packages
  libmongocxx-noabi:
    Installed: (none)
    Candidate: 4.0.0-1
    Version table:
       4.0.0-1 1
            1 http://deb.debian.org/debian experimental/main amd64 Packages
0m15.2s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
0m15.2s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-get', '-y', 'install', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
0m15.5s DUMP: 
  Reading package lists...
  Building dependency tree...
  Reading state information...
  Solving dependencies...
  Some packages could not be installed. This may mean that you have
  requested an impossible situation or if you are using the unstable
  distribution that some required packages have not yet been created
  or been moved out of Incoming.
  The following information may help to resolve the situation:
  
  The following packages have unmet dependencies:
   libbsoncxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
   libmongocxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
                       Depends: libmongoc-1.0-0t64 (>= 1.29.0) but it is not installable
  E: Unable to correct problems, you have held broken packages.
  E: The following information from --solver 3.0 may provide additional context:
     Unable to satisfy dependencies. Reached two conflicting decisions:
     1. libmongocxx-noabi:amd64=4.0.0-1 is selected for install
     2. libmongocxx-noabi:amd64 Depends libbson-1.0-0t64 (>= 1.29.0)
        but none of the choices are installable:
        [no choices]
0m15.5s ERROR: Command failed (status=100): ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-get', '-y', 'install', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
  Reading package lists...
  Building dependency tree...
  Reading state information...
  Solving dependencies...
  Some packages could not be installed. This may mean that you have
  requested an impossible situation or if you are using the unstable
  distribution that some required packages have not yet been created
  or been moved out of Incoming.
  The following information may help to resolve the situation:
  
  The following packages have unmet dependencies:
   libbsoncxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
   libmongocxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
                       Depends: libmongoc-1.0-0t64 (>= 1.29.0) but it is not installable
  E: Unable to correct problems, you have held broken packages.
  E: The following information from --solver 3.0 may provide additional context:
     Unable to satisfy dependencies. Reached two conflicting decisions:
     1. libmongocxx-noabi:amd64=4.0.0-1 is selected for install
     2. libmongocxx-noabi:amd64 Depends libbson-1.0-0t64 (>= 1.29.0)
        but none of the choices are installable:
        [no choices]

All of that said, the mongo-cxx-driver package only exists in experimental. So, I wonder if the archive management software allowed the removal of libbson-1.0-0t64 and libmongoc-1.0-0t64 from unstable as part of the transition because it doesn't consider dependencies originating from experimental.

So, I suppose that it is possible that this is a case of "works as designed" or it is simply a limitation imposed by the way the Debian archive is managed and that debusine simply has to live with it.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information