prometheus is unbuildable in Focal

Bug #1878709 reported by Dan Streetman
This bug affects 1 person
Affects Status Importance Assigned to Milestone
prometheus (Ubuntu)

Bug Description


prometheus in Focal is missing dependencies and thus is unbuildable.

[test case]

ubuntu@build-focal:/build/prometheus$ pull-lp-source prometheus focal
Found prometheus 2.15.2+ds-2 in focal
Public key not found, could not verify signature
Downloading prometheus_2.15.2+ds.orig.tar.gz from (3.250 MiB)
Downloading prometheus_2.15.2+ds-2.debian.tar.xz from (0.028 MiB)
gpgv: Signature made Mon Jan 13 10:35:13 2020 UTC
gpgv: using RSA key 4DEF788779AF46C6BD02839E5DD8E0BF91A3D3DA
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./prometheus_2.15.2+ds-2.dsc
dpkg-source: info: extracting prometheus in prometheus-2.15.2+ds
dpkg-source: info: unpacking prometheus_2.15.2+ds.orig.tar.gz
dpkg-source: info: unpacking prometheus_2.15.2+ds-2.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 00-Disable_azure.patch
dpkg-source: info: applying 01-Do_not_embed_blobs.patch
dpkg-source: info: applying 02-Default_settings.patch
dpkg-source: info: applying 03-Disable_kubernetes.patch
dpkg-source: info: applying 05-Fix-test-prom-invocations.patch
dpkg-source: info: applying 06-Disable_TSDB_lockfile.patch
dpkg-source: info: applying 07-Disable_fsnotify_mips64el.patch
dpkg-source: info: applying 09-Fix_hanging_test.patch
ubuntu@build-focal:/build/prometheus$ cd prometheus-2.15.2+ds/
ubuntu@build-focal:/build/prometheus/prometheus-2.15.2+ds$ sudo apt build-dep .
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
Note, using directory '.' to get the build dependencies
Reading package lists... Done
Building dependency tree
Reading state information... 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:
 builddeps:. : Depends: golang-github-gophercloud-gophercloud-dev (>= 0.3.0~) but it is not going to be installed
               Depends: golang-github-prometheus-alertmanager-dev (>= 0.18.0~) but it is not going to be installed
               Depends: golang-github-prometheus-client-golang-dev (>= 1.2.1~) but 0.9.2-0ubuntu3 is to be installed
E: Unable to correct problems, you have held broken packages.

[regression potential]

adding/upgrading packages may affect other packages.

[other info]

prometheus autopkgtests will continue to fail for the lifetime of Focal due to missing runtime dependencies:

Tags: focal ftbfs
Revision history for this message
Hans Joachim Desserud (hjd) wrote :

Thanks for taking your time to report this issue and help making Ubuntu better.

I get the same error message when attempting to run `sudo apt build-dep prometheus` on Ubuntu 20.04. It does indeed look like some of the required dependencies are newer than what is available in the archive. Makes me wonder how this was built in the first place...

Changed in prometheus (Ubuntu):
status: New → Confirmed
tags: added: focal ftbfs
Revision history for this message
Dan Streetman (ddstreet) wrote :

> Makes me wonder how this was built in the first place...

it was copied over from Debian, where the deps are (or were) available, but it appears not all the deps were pulled over at the needed versions.

Revision history for this message
Hans Joachim Desserud (hjd) wrote :

>it was copied over from Debian,

Yes, the sourcce was copied/synced from Debian, but to my knowledge all binary packages are rebuilt on Ubuntu?

Anyways, I did some digging [1] and found the build log for amd64 [2]. When searching for any of the troublesome dependencies, I see that they were installed from focal-proposed, for instance:

Get:105 http://ftpmaster.internal/ubuntu focal-proposed/universe amd64 golang-github-prometheus-client-golang-dev all 1.2.1-3 [100 kB]

So it looks like the newer versions were in -proposed, and prometheus built successfully the first time round. It then looks like the newer versions never migrated from -proposed to the -release pocket for unknown reasons and they are currently in groovy-proposed. Prometheus on the other hand, did end up in -release and without the dependencies it now fails to build.

(I am not sure how prometheus migrated to -release before its build dependencies were, I thought that was a requirement in order to avoid issues like this...)


Revision history for this message
Kócsó Balázs (kocsob) wrote :

I have run into same issue. The following build dependencies are not available on focal (the version constraints are higher than the available package versions in focal):

- golang-github-gophercloud-gophercloud-dev (>= 0.3.0~):

 $ apt-cache show golang-github-gophercloud-gophercloud-dev
 Package: golang-github-gophercloud-gophercloud-dev
 Architecture: all
 Version: 0.0~git20180917.45f1c769-1

- golang-github-prometheus-alertmanager-dev (>= 0.18.0~):

 $ apt-cache show golang-github-prometheus-alertmanager-dev
 Package: golang-github-prometheus-alertmanager-dev
 Architecture: all
 Version: 0.15.3+ds-3ubuntu1

- golang-github-prometheus-client-golang-dev (>= 1.2.1~):

 $ apt-cache show golang-github-prometheus-client-golang-dev
 Package: golang-github-prometheus-client-golang-dev
 Architecture: amd64
 Version: 0.9.2-0ubuntu3

I suggest to use opensource build tool BLDR, which always builds in clean environment based on the Build-dependencies in the control file and this errors could be avoided easily:

 bldr build ubuntu:focal


To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers