hirsute ppa: Missing build dependencies: qtbase5-dev

Asked by Daniel Schürmann on 2021-01-21

we have an issue that the PPA build complains:

Missing build dependencies: qtbase5-dev

See:
https://launchpad.net/~mixxx/+archive/ubuntu/nightlies/+build/20912252

The following packages have unmet dependencies:
 libqt5opengl5 : Depends: libqt5gui5 (>= 5.1.0) but it is not installable
 libqt5opengl5-dev : Depends: qtbase5-dev (= 5.15.2+dfsg-2) but it is not installable
 libqt5x11extras5-dev : Depends: qtbase5-dev but it is not installable

However, the packages should be available:
https://packages.ubuntu.com/hirsute/qtbase5-dev

How can we solve this?

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
Daniel Schürmann
Solved:
Last query:
Last reply:
Revision history for this message
Colin Watson (cjwatson) said :
#1

This isn't a bug in the Launchpad software, so I'm turning it into a support request.

Revision history for this message
Colin Watson (cjwatson) said :
#2

"... but it is not installable" is apt's (confusing) way of saying that the package exists but can't be installed, perhaps because it has unsatisfied dependencies in and of itself or perhaps because its dependencies can't be installed simultaneously with your other build-dependencies.

To find out what the real problem is, you typically have to ask apt some more questions manually. The "chdist" tool is a good way to set up a suitable scratch environment - you won't be able to actually install packages that way, but it's good for checking whether packages are installable and if not why. In this case:

  $ chdist create mixxx
  $ cat >~/.chdist/mixxx/etc/apt/sources.list
  deb http://archive.ubuntu.com/ubuntu hirsute main restricted universe multiverse
  deb-src http://archive.ubuntu.com/ubuntu hirsute main restricted universe multiverse
  deb-src [allow-insecure=yes] http://ppa.launchpad.net/mixxx/nightlies/ubuntu hirsute main
  $ chdist apt mixxx update
  $ chdist apt mixxx build-dep mixxx
  [...]
  The following packages have unmet dependencies.
   builddeps:mixxx : Depends: qt5-default but it is not going to be installed
  E: Unable to correct problems, you have held broken packages.

Now you can dig into why apt is upset by listing out all your build-dependencies, and progressively adding packages from the error message until it tells you the actual reason:

  $ chdist apt mixxx install debhelper pkg-config docbook-to-man markdown libglu1-mesa-dev qt5-default qt5keychain-dev qtdeclarative5-dev qtscript5-dev libqt5opengl5-dev libqt5svg5-dev libqt5sql5-sqlite libqt5x11extras5-dev cmake libjack-dev portaudio19-dev libid3tag0-dev libmad0-dev libogg-dev libsndfile1-dev libasound2-dev libvorbis-dev libfaad-dev libportmidi-dev libtag1-dev libshout-dev libssl-dev libprotobuf-dev protobuf-compiler libusb-1.0-0-dev libchromaprint-dev librubberband-dev libopusfile-dev libsqlite3-dev libsoundtouch-dev libhidapi-dev libupower-glib-dev liblilv-dev libmodplug-dev libmp3lame-dev libebur128-dev xvfb
  [...]
  The following packages have unmet dependencies.
   libqt5opengl5-dev : Depends: libqt5opengl5 (= 5.15.2+dfsg-2) but it is not going to be installed
                       Depends: qtbase5-dev (= 5.15.2+dfsg-2) but it is not going to be installed
   libqt5x11extras5-dev : Depends: qtbase5-dev but it is not going to be installed
  $ chdist apt mixxx install debhelper pkg-config docbook-to-man markdown libglu1-mesa-dev qt5-default qt5keychain-dev qtdeclarative5-dev qtscript5-dev libqt5opengl5-dev libqt5svg5-dev libqt5sql5-sqlite libqt5x11extras5-dev cmake libjack-dev portaudio19-dev libid3tag0-dev libmad0-dev libogg-dev libsndfile1-dev libasound2-dev libvorbis-dev libfaad-dev libportmidi-dev libtag1-dev libshout-dev libssl-dev libprotobuf-dev protobuf-compiler libusb-1.0-0-dev libchromaprint-dev librubberband-dev libopusfile-dev libsqlite3-dev libsoundtouch-dev libhidapi-dev libupower-glib-dev liblilv-dev libmodplug-dev libmp3lame-dev libebur128-dev xvfb libqt5opengl5 qtbase5-dev
  [...]
  The following packages have unmet dependencies.
   libqt5opengl5 : Depends: libqt5gui5 (>= 5.1.0) but it is not going to be installed
   qt5-default : Depends: qtbase5-dev (= 5.14.2+dfsg-6) but 5.15.2+dfsg-2 is to be installed or
                          qtbase5-gles-dev (>= 5.14.2+dfsg) but it is not going to be installed
   qtbase5-dev : Depends: libqt5gui5 (= 5.15.2+dfsg-2) but it is not going to be installed
  E: Unable to correct problems, you have held broken packages.

Here's the key line:

   qt5-default : Depends: qtbase5-dev (= 5.14.2+dfsg-6) but 5.15.2+dfsg-2 is to be installed or

Looking at the package description for qt5-default, it says:

 This package should not be used for building Debian packages. Take a
 look at https://qt-kde-team.pages.debian.net/packagingqtbasedstuff.html for
 more information.

... and in any case in https://tracker.debian.org/news/1187732/accepted-qtbase-opensource-src-5151dfsg-2-source-into-unstable/ I see:

   * Remove qt5-default. Nowadays it's not needed as Qt 5 is the only Qt version
     in Debian and it brought more problems than solutions.

The qt5-default binary package is still in hirsute, but it's due for removal once a few more build-dependencies have been sorted out, and as you can see from all this it's uninstallable.

So, while I'm not a Qt packaging expert, it looks as though you need to remove qt5-default from your Build-Depends.

Revision history for this message
Daniel Schürmann (daschuer) said :
#3

Thank you for all the efforts to look into this case.
I will give it a try.

Revision history for this message
Daniel Schürmann (daschuer) said :
#4