[FTBFS] libguestfs fails to build on Xenial - dh_install --fail-missing

Bug #1814939 reported by Ioanna Alifieraki on 2019-02-06
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libguestfs (Ubuntu)
Medium
Unassigned
Xenial
Medium
Ioanna Alifieraki

Bug Description

[Impact]

Ubuntu Version :
$ lsb_release -rd
Description: Ubuntu 16.04.5 LTS
Release: 16.04

libguestfs version : 1:1.32.2-4ubuntu2

When trying to build libguestfs on Ubuntu 16.04 - Xenial, it fails at :

dh_install -X.la -X.so.owner -Xbindtests -X/usr/lib/go/ -Xpackages.orig \
    --fail-missing
dh_install: usr/lib/go-1.6/pkg/linux_amd64/libguestfs.org/guestfs/guestfs.a exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_040_create_multiple_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_100_launch_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_070_optargs_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_060_explicit_close_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_010_load_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_900_rstringlist_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_030_create_flags_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_020_create_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_050_handle_properties_test.go exists in debian/tmp but is not installed to anywhere
dh_install: missing files, aborting
debian/rules:118: recipe for target 'override_dh_install' failed

This happens because the dh_install excludes the /usr/lib/go files (-X/usr/lib/go)
but does not exclude the /usr/lib/go- for the specific version of go.

The fix replaces the command :
dh_install -X.la -X.so.owner -Xbindtests -X/usr/lib/go/ -Xpackages.orig \
    --fail-missing
with :
dh_install -X.la -X.so.owner -Xbindtests -X/usr/lib/go/ -X/usr/lib/go- -Xpackages.orig \
    --fail-missing

[Test Case]

On a Xenial machine :

1) $ pull-lp-source libguestfs xenial

2) $ cd libguestfs-1.32.2/

3) $ debuild
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package libguestfs
dpkg-buildpackage: source version 1:1.32.2-4ubuntu2
dpkg-buildpackage: source distribution xenial
....
dh_install -X.la -X.so.owner -Xbindtests -X/usr/lib/go/ -Xpackages.orig \
    --fail-missing
dh_install: usr/lib/go-1.6/pkg/linux_amd64/libguestfs.org/guestfs/guestfs.a exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_040_create_multiple_test.go exists in debian/tmp but is not installed to anywhere
dh_install: usr/lib/go-1.6/src/pkg/libguestfs.org/guestfs/guestfs_100_launch_test.go exists in debian/tmp but is not installed to anywhere
...
debian/rules:118: recipe for target 'override_dh_install' failed

[Regression Potential]

* The fix might cause problems when building libguestfs.

* autopkgtest fails with :

autopkgtest [14:49:52]: test command1: /usr/bin/dh_golang_autopkgtest
autopkgtest [14:49:52]: test command1: [-----------------------
bash: /usr/bin/dh_golang_autopkgtest: No such file or directory
autopkgtest [14:49:53]: test command1: -----------------------]
autopkgtest [14:49:53]: test command1: - - - - - - - - - - results - - - - - - - - - -
command1 FAIL non-zero exit status 1
autopkgtest [14:49:54]: @@@@@@@@@@@@@@@@@@@@ summary
command1 FAIL non-zero exit status 1

However this is due to the golang test which are excluded from the package.
The same behaviour is observed when running autopakgtest for libguestfs on Bionic.

$ autopkgtest -U libguestfs_1.36.13-1ubuntu3.2.dsc -- lxd ubuntu:bionic
...
autopkgtest [17:55:37]: test command1: /usr/bin/dh_golang_autopkgtest
autopkgtest [17:55:37]: test command1: [-----------------------
[error] Can't find import paths.
autopkgtest [17:55:41]: test command1: -----------------------]
autopkgtest [17:55:42]: test command1: - - - - - - - - - - results - - - - - - - - - -
command1 FAIL non-zero exit status 2
autopkgtest [17:55:43]: @@@@@@@@@@@@@@@@@@@@ summary
command1 FAIL non-zero exit status 2

[Other Info]

Changed in libguestfs (Ubuntu Xenial):
assignee: nobody → Ioanna Alifieraki (joalif)
importance: Undecided → Medium
status: New → In Progress
Ioanna Alifieraki (joalif) wrote :
description: updated
Eric Desrochers (slashd) on 2019-02-07
summary: - libguestfs fails to build on Xenial - dh_install --fail-missing
+ [FTBFS] libguestfs fails to build on Xenial - dh_install --fail-missing
tags: added: sts
Eric Desrochers (slashd) wrote :

I have sponsored the patch.

It is now waiting for the SRU veriifcation team to approve the upload for the pkg to start building in xenial-proposed for the testing phase.

- Eric

The attachment "lp1814939_xenial.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Changed in libguestfs (Ubuntu):
status: New → Fix Released
importance: Undecided → Medium
tags: added: ftbfs

Hello Ioanna, or anyone else affected,

Accepted libguestfs into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libguestfs/1:1.32.2-4ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in libguestfs (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Eric Desrochers (slashd) wrote :

[FTBFS - s390x]

* Pending SRU (xenial)
libguestfs s390x: Failed to build
https://launchpad.net/ubuntu/+source/libguestfs/1:1.32.2-4ubuntu2.1/+build/16379018

* Build log
...
checking for qemu-system-s390x... no
configure: error: qemu must be installed
...

* git-ubuntu (libguestfs)
commit 3928bd5f1458d199cd93e415c9a8081d28048500)

* debdiff

The following should help the build for that particular FTBFS situation
(if no other build problem found after)

diff -Nru libguestfs-1.32.2/debian/control libguestfs-1.32.2/debian/control
--- libguestfs-1.32.2/debian/control 2016-03-13 16:04:12.000000000 +0000
+++ libguestfs-1.32.2/debian/control 2019-02-15 14:24:56.000000000 +0000
@@ -18,7 +18,7 @@
   gperf, libxml2-utils,
   qemu-system-arm [armel armhf arm64],
   qemu-system-mips [mips mipsel mips64 mips64el],
 - qemu-system-misc [s390x],
 + qemu-system-s390x [s390x],
   qemu-system-ppc [powerpc ppc64 ppc64el],
   qemu-system-aarch64 [arm64],
   qemu-system-sparc [sparc],
@@ -154,7 +154,7 @@
   supermin (>= 5),
   qemu-system-arm [armel armhf arm64],
   qemu-system-mips [mips mipsel mips64 mips64el],
 - qemu-system-misc [s390x],
 + qemu-system-s390x [s390x],
   qemu-system-aarch64 [arm64],
   qemu-system-ppc [powerpc pc64 ppc64el],
   qemu-system-sparc [sparc],

Eric Desrochers (slashd) on 2019-02-15
tags: added: verification-failed-xenial
removed: verification-needed-xenial
Łukasz Zemczak (sil2100) wrote :

Hello Ioanna, or anyone else affected,

Accepted libguestfs into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/libguestfs/1:1.32.2-4ubuntu2.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed-xenial
removed: verification-failed-xenial
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers