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

Launchpad Bug Tracker 1814939 at bugs.launchpad.net
Fri Feb 8 00:20:28 UTC 2019


You have been subscribed to a public bug by Ubuntu Foundations Team Bug Bot (crichton):

[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]

** Affects: libguestfs (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: libguestfs (Ubuntu Xenial)
     Importance: Medium
     Assignee: Ioanna Alifieraki (joalif)
         Status: In Progress


** Tags: patch sts
-- 
[FTBFS] libguestfs fails to build on Xenial - dh_install --fail-missing
https://bugs.launchpad.net/bugs/1814939
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list