0

I've been using launchpad.net to build many of my projects for Xenial, Bionic, and now Focal.

As I'm trying to complete my list of projects, one of the builds is giving me grief saying that a dependency is not going to be installed. From what I've found on the net, it looks like that happens when the dependency is missing (at least as far as launchpad.net is concerned). Just in case, I re-ran a build today so about 20 hours later, and it still fails. Same error.

Is there something else I'm missing?

Here is the error preventing the build:

The following packages have unmet dependencies:
 sbuild-build-depends-cassandra-cpp-driver-snap-dummy : Depends: libuv1-snap-dev (>= 1.33.1.7~bionic) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
apt-get failed.
E: Package installation failed

You can read the complete launchpad log if helpful.

The package list includes that dependency for all three distributions and both architectures: Xenial, Bionic & Focal in amd64 & arm64. So it is there!

The Xenial build (cassandra-cpp-driver-snap_2.14.0.9~xenial) worked. I just don't understand why the other two would fail since that dependency exists and is readily available (I can download it from my computer). Also it all works with all the other packages so far...

Do you have any idea what I could do next to make it work?

3
  • Your package to be built depends on cmake which deps on libuv1 which conflicts with libuv1-snap & libuv1-snap-dev.
    – doug
    Jan 11, 2021 at 7:58
  • Wow! It looks like you're right. Were you able to find that out from the logs? Or is it just pure knowledge from your part to know that cmake now depends on libuv1 & libuv1-dev? I guess on my end I never attempt a full install on a system with cmake & snapwebsites. Jan 11, 2021 at 18:10
  • @doug btw, you should write an answer instead of just a comment. Jan 11, 2021 at 18:45

1 Answer 1

1

The issue here is that cassandra-cpp-driver-snap depends on cmake which in 18.04 & 20.04 depends on libuv1. libuv1-snap conflicts with libuv1 so it & libuv1-snap-dev cannot be installed, hence the build failure.

If cmake can actually build & work off of libuv1-snap then you could work around this in the ppa. Best choice from my perspective be to package cmake using libuv1-snap to a separate build dep ppa, then add that ppa to your current ppa's dependencies. This would protect ppa users from aquiring a modified cmake. You could otherwise try editing cmake control to allow either libuv1-snap-dev | libuv1-dev though I prefer former..

1
  • I was also thinking I could rename the installed library to include -snap and depend/link against that. Since I control the CMakeLists.txt files, that should be easy enough. Probably easier than rebuilding the whole cmake project. The cassandra driver needs at least libuv1 version 1.26, so 18.04 does not have the correct version yet (1.18.x) Jan 12, 2021 at 21:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .