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

Bug #1814939 reported by Ioanna Alifieraki on 2019-02-06
8
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]

CVE References

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
Ioanna Alifieraki (joalif) wrote :

[VERIFICATION XENIAL]

It successfully builds now on all architectures.
https://launchpad.net/ubuntu/+source/libguestfs/1:1.32.2-4ubuntu2.2/

tags: added: verification-done-xenial
removed: verification-needed-xenial
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :
Download full text (31.7 KiB)

This bug was fixed in the package libguestfs - 1:1.32.2-4ubuntu2.2

---------------
libguestfs (1:1.32.2-4ubuntu2.2) xenial; urgency=medium

  * debian/control: Fix FTBFS on s390x (LP: #1816388)

libguestfs (1:1.32.2-4ubuntu2.1) xenial; urgency=medium

  * d/p/0006-appliance-touch-etc-fstab-when-enabling-the-network.patch:
    - Fix missing /etc/fstab when enabling network (LP: #1632405)
  * debian/rules: Fix build failure dh_install --fail-missing (LP: #1814939)

libguestfs (1:1.32.2-4ubuntu2) xenial; urgency=medium

  * No-change rebuild for ruby2.3-only support.

libguestfs (1:1.32.2-4ubuntu1) xenial; urgency=medium

  * Merge with Debian; remaining changes:
    - debian/control:
      + Build-Depends on systemtap-sdt-dev on all architectures.
      + Add qemu build dependencies for arm64 and ppc64el.
      + Switch to Ubuntu kernel meta-package names.
      + Disable Build-Depends on grub2, only needed for the quickchecks,
        which are disabled anyway.
      + Build-Depends on zfs-fuse on armhf and ppc64el as well.
    - debian/rules:
      + Disable quickchecks. Requires a readable kernel image.
      + Configure with --disable-silent-rules.

libguestfs (1:1.32.2-4) unstable; urgency=medium

  * Call "rubyX.Y -S rake" instead of rakeX.Y which is missing in ruby2.3
    (Closes: #815764)

libguestfs (1:1.32.2-3ubuntu1) xenial; urgency=medium

  * Merge with Debian; remaining changes:
    - debian/control:
      + Build-Depends on systemtap-sdt-dev on all architectures.
      + Add qemu build dependencies for arm64 and ppc64el.
      + Switch to Ubuntu kernel meta-package names.
      + Disable Build-Depends on grub2, only needed for the quickchecks,
        which are disabled anyway.
      + Build-Depends on zfs-fuse on armhf and ppc64el as well.
    - debian/rules:
      + Disable quickchecks. Requires a readable kernel image.
      + Configure with --disable-silent-rules.

libguestfs (1:1.32.2-3) unstable; urgency=medium

  * Add patch to fix Lintian error "gzip-file-is-not-multi-arch-same-safe"

libguestfs (1:1.32.2-2) unstable; urgency=medium

  * Work around cryptsetup's missing busybox dependency

libguestfs (1:1.32.2-1) unstable; urgency=medium

  * New upstream version

libguestfs (1:1.32.1-1) unstable; urgency=medium

  * New upstream version

libguestfs (1:1.32.0-2) unstable; urgency=medium

  * Add missing build-dependency for Perl bindings

libguestfs (1:1.32.0-1) unstable; urgency=medium

  * New upstream version
  * Adapt patch for building Perl bindings in separate build directory
  * Update symbols file
  * Adjust architecture list for some dependencies (Closes: #799965)
  * Add lintian overrides for several test files

libguestfs (1:1.30.6-1ubuntu2) xenial; urgency=medium

  * No-change rebuild to drop python3.4 support.

libguestfs (1:1.30.6-1ubuntu1) xenial; urgency=low

  * Merge from Debian unstable. Remaining changes:
    - debian/control:
      + Build-Depends on systemtap-sdt-dev on all architectures.
      + Add qemu build dependencies for arm64 and ppc64el.
      + Switch to Ubuntu kernel meta-package names.
      + Disable Build-Depends on grub2, only needed for the quickchecks,
        which are disabled a...

Changed in libguestfs (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for libguestfs has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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

Other bug subscribers