← Back to team overview

launchpad-users team mailing list archive

Re: Recipe in dependency wait

 

On Thu, Nov 24, 2022 at 08:40:36AM +0300, Alberto Mardegan wrote:
>   yesterday a daily recipe of mine failed to build on Bionic (on Jammy and
> Focal it succeeded) because the "qbs" dependency could not be found. But
> since the last successful Bionic build (which happened in June) I did not
> change the build depends of this project, so I'm a bit at a loss on what
> happened.
> 
> Comparing the two logs, I see that nowadays a "git-build-recipe" tool is
> used, whereas in June the commands issued were different:
> 
> Logs from June:
> https://launchpadlibrarian.net/610349603/buildlog_ubuntu-bionic-i386.mappero_1.8ubuntu0-0~202206291942+202206300146~ubuntu18.04.1_BUILDING.txt.gz
> 
> Logs from yesterday:
> https://launchpadlibrarian.net/635597022/buildlog.txt.gz

Builds from source package recipes have two stages (recipe build and
package build), and you're comparing a log from the first stage with a
log from the second stage here, which is why the comparison is
confusing.  The first-stage build corresponding to your first log was
https://launchpad.net/~mardy/+archive/ubuntu/mappero/+recipebuild/3386758,
and its log is https://launchpadlibrarian.net/610349122/buildlog.txt.gz:
you should be able to see that it looks rather more like your second
log.

> The "qbs" package should get installed from the "qbs-on-lts" PPA; I recently
> updated it there, I wonder if I could have made some mistake there? Though,
> I only built the package for xenial and then copied it over to bionic,
> focal, and jammy.

  $ chdist create qbs
  Now edit /home/cjwatson/.chdist/qbs/etc/apt/sources.list
  Run chdist apt qbs update
  And enjoy.
  $ cat >.chdist/qbs/etc/apt/sources.list
  deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
  deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
  deb [trusted=yes] https://ppa.launchpadcontent.net/mardy/qbs-on-lts/ubuntu bionic main
  $ chdist apt qbs update
  [...]
  $ chdist apt qbs install qbs
  Reading package lists... Done
  Building dependency tree... Done
  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.
   qbs : Depends: libgcc-s1 (>= 3.0) but it is not installable
  E: Unable to correct problems, you have held broken packages.
  $ chdist apt qbs install qbs libgcc-s1
  Reading package lists... Done
  Building dependency tree... Done
  Package libgcc-s1 is not available, but is referred to by another package.
  This may mean that the package is missing, has been obsoleted, or
  is only available from another source
  
  E: Package 'libgcc-s1' has no installation candidate
  $ rmadison libgcc-s1
   libgcc-s1 | 10-20200411-0ubuntu1  | focal          | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 10.3.0-1ubuntu1~20.04 | focal-security | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 10.3.0-1ubuntu1~20.04 | focal-updates  | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 12-20220319-1ubuntu1  | jammy          | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 12.1.0-2ubuntu1~22.04 | jammy-security | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 12.1.0-2ubuntu1~22.04 | jammy-updates  | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 12.2.0-3ubuntu1       | kinetic        | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
   libgcc-s1 | 12.2.0-9ubuntu1       | lunar          | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x

Hmm, how did that happen?  This took a bit of digging; but I went
looking for the build log for your qbs package, which is at
https://launchpadlibrarian.net/633469664/buildlog_ubuntu-bionic-amd64.qbs_1.23.2-1ubuntu1~bionic1_BUILDING.txt.gz,
and I see from that that you have your qbs-in-lts PPA configured to
build against ppa:ubuntu-toolchain-r/ubuntu/test.  Do you have to use
that PPA?  As I understand it it's not at all intended to be stable, and
using it has caused your binaries built for bionic to be built with a
dependency on a package that isn't present in bionic.  This is the root
cause of your recipe build failure.

-- 
Colin Watson (he/him)                           [cjwatson@xxxxxxxxxxxxx]


Follow ups

References