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

Bug #1814939 reported by Ioanna Alifieraki
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libguestfs (Ubuntu)
Fix Released
Medium
Unassigned
Xenial
Fix Released
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
Revision history for this message
Ioanna Alifieraki (joalif) wrote :
description: updated
Eric Desrochers (slashd)
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
Revision history for this message
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

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

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
Mathew Hodson (mhodson)
Changed in libguestfs (Ubuntu):
status: New → Fix Released
importance: Undecided → Medium
tags: added: ftbfs
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

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
Revision history for this message
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)
tags: added: verification-failed-xenial
removed: verification-needed-xenial
Revision history for this message
Ł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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update 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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.