Debian Bug report logs - #861627
debhelper: dh_auto_install (with libtool/automake) can fail for parallel builds

version graph

Package: debhelper; Maintainer for debhelper is Debhelper Maintainers <debhelper@packages.debian.org>; Source for debhelper is src:debhelper (PTS, buildd, popcon).

Reported by: IOhannes m zmoelnig <umlaeute@debian.org>

Date: Mon, 1 May 2017 21:03:01 UTC

Severity: normal

Found in version debhelper/10.2.5

Fixed in version debhelper/10.3

Done: Niels Thykier <niels@thykier.net>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>:
Bug#861627; Package debhelper. (Mon, 01 May 2017 21:03:04 GMT) (full text, mbox, link).


Acknowledgement sent to IOhannes m zmoelnig <umlaeute@debian.org>:
New Bug report received and forwarded. Copy sent to Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>. (Mon, 01 May 2017 21:03:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: IOhannes m zmoelnig <umlaeute@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: debhelper: dh_auto_install (with libtool/automake) can fail for parallel builds
Date: Mon, 01 May 2017 23:00:13 +0200
Package: debhelper
Version: 10.2.5
Severity: normal

Dear Maintainer,

automake/libtools are known to break parallel installs (`make -j2 install`) in
some situtations.

the problem was triggered when building the gsequencer package on my local
machine, which has routinely set `DEB_BUILD_OPTIONS=parallel=2`; (and probably a
recent switch to compat=10)

example
=======
an example project consists of both public (lib_LTLIBRARIES=libfoo.la) and
private (e.g.  pkglib_LTLIBRARIES=libbar.la) shared libraries that interdepend
(e.g. libbar_la_LIBADD=libfoo.la).
All libraries are built from a single Makefile.am (no subdirectories or the
like).
On 'make install', libtool will run a "relink" for each library.
Since the public and private libraries are in a different namespace, their
installation can be parallelized by make (if requested; e.g. because dh's
`--parallel` flag is used), which can result in libbar.la being
installed/relinked before libfoo.la, which in turn will result in an error
(since libfoo.so cannot be found).

This is a bug in autotools/automake/libtool, which has been known for some time
([1], [2]) and is unlikely to get fixed.

proposal
========
It would be great if debhelper would automatically force a '--no-parallel' for
the 'make install' target of automake/libtool based projects.

in the meantime, this works as a local workaround (but must be implemented for
each package)

	override_dh_auto_install:
	        dh_auto_install --no-parallel

what else?
==========
thanks for this great piece of software :-)


references
==========

[1] https://lists.gnu.org/archive/html/automake/2005-08/msg00021.html
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1260190


-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages debhelper depends on:
ii  autotools-dev            20161112.1
ii  binutils                 2.28-4
ii  dh-autoreconf            14
ii  dh-strip-nondeterminism  0.032-1
ii  dpkg                     1.18.23
ii  dpkg-dev                 1.18.23
ii  file                     1:5.29-3
ii  libdpkg-perl             1.18.23
ii  man-db                   2.7.6.1-2
ii  perl                     5.24.1-2
ii  po-debconf               1.0.20

debhelper recommends no packages.

Versions of packages debhelper suggests:
ii  dh-make  2.201608

-- no debconf information



Added tag(s) pending. Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Sat, 06 May 2017 13:27:05 GMT) (full text, mbox, link).


Reply sent to Niels Thykier <niels@thykier.net>:
You have taken responsibility. (Sat, 06 May 2017 13:50:47 GMT) (full text, mbox, link).


Notification sent to IOhannes m zmoelnig <umlaeute@debian.org>:
Bug acknowledged by developer. (Sat, 06 May 2017 13:50:47 GMT) (full text, mbox, link).


Message #12 received at 861627-close@bugs.debian.org (full text, mbox, reply):

From: Niels Thykier <niels@thykier.net>
To: 861627-close@bugs.debian.org
Subject: Bug#861627: fixed in debhelper 10.3
Date: Sat, 06 May 2017 13:48:45 +0000
Source: debhelper
Source-Version: 10.3

We believe that the bug you reported is fixed in the latest version of
debhelper, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 861627@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Niels Thykier <niels@thykier.net> (supplier of updated debhelper package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 06 May 2017 13:29:31 +0000
Source: debhelper
Binary: debhelper dh-systemd
Architecture: source
Version: 10.3
Distribution: experimental
Urgency: medium
Maintainer: Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
Changed-By: Niels Thykier <niels@thykier.net>
Description:
 debhelper  - helper programs for debian/rules
 dh-systemd - debhelper add-on to handle systemd unit files - transitional pack
Closes: 415396 616070 770281 795253 800043 812248 837528 844077 844602 847138 853881 856688 857028 860091 861627
Changes:
 debhelper (10.3) experimental; urgency=medium
 .
   [ Helmut Grohne ]
   * Supply PKG_CONFIG for cross compilation with the makefile buildsystem.
     (Closes: #853881)
   * Disable stripping during dh_auto_* in makefile buildsystem in compat 11.
     (Closes: #844077)
   * Remove explicit "Multi-Arch: no" stanzas as they are auto-rejected.
     (Closes: #857028)
 .
   [ Niels Thykier ]
   * Dh_Lib.pm: Make getpackages() produce the correct result independently
     of the order of the fields in a given paragraph of debian/control.
     (Closes: #847138)
   * dh_installman: Report installed manpages so the new dh_missing tool
     is informed about them.
   * dh_install: Deprecate --list-missing/--fail-missing in favor of the
     new dh_missing tool.  The options will be removed in compat 11.
   * dh: Run dh_missing by default (in no op mode).
   * dh_prep: Clean up generated files so they work like other temporary
     debhelper files.
   * dh_installinit: Clarify that it might make sense to skip dh_installinit
     for a package if it provides a systemd service but no sysvinit file.
     (Closes: #800043)
   * dh_installinit: Deprecate --no-restart-on-upgrade in favor of the new
     name --no-stop-on-upgrade, which does the same thing but is less
     likely to be confused with --no-restart-after-upgrade and is more
     descriptive of what it actually does.  Thanks to  Simon McVittie and
     Michael Biebl for the help.  (Closes: #837528)
   * debian/rules: Only apply the --no-parallel to dh_auto_test.  The rest
     of debhelper's build appears to work fine with --parallel.
   * dh_systemd_enable.1: Clarify that --no-enable does not control
     whether a service is started and that dh_systemd_start is the tool
     that does that.  (Closes: #770281)
   * autoconf.pm: Set --runstatedir to "/run" in compat 11.  Thanks to
     Michael Biebl for the suggestion.
   * dh_fixperms: Refactor to reduce the constant overhead a bit and
     extract some patterns into data list.  The latter hopefully reducing
     the need for tweaking dh_fixperms' logic.
   * dh_installdocs: Document that --link-doc has limitations on source and
     target package plus that compat 10 will reject unsupported
     combinations.
   * dh_gencontrol: Avoid adding Homepage fields to dbgsym packages.  Avoids
     non-overridable warnings from lintian when there is an issue in the
     homepage field of the original binary.  (Closes: #812248)
   * dh_strip: Fix a check that could cause dh_strip to generate dbgsym
     packages when it should not.
   * dh: Stop loading python-support in all compat levels as dh_pysupport
     has been removed in stretch.
   * python_support.pm: Remove the content with a deprecation warning as
     the module can no longer do anything.
   * dh_installman.1: Improve the manpage to clarify the scope of
     dh_installman and provide an examples.  (Closes: LP: #184156)
   * makefile.pm: Disable parallel installation if libtool is present to
     avoid a race-condition in automake when using libtool.
     (Closes: #861627)
 .
   [ Steven Chamberlain ]
   * When cross-compiling for GNU/kFreeBSD host systems, set
     CMAKE_SYSTEM_NAME to the correct value "kFreeBSD", not "FreeBSD".
     (Closes: #856688)
 .
   [ Felipe Sateler ]
   * dh_systemd_enable.1: Improve the wording of the documentation for
     the --no-enable option.  (Closes: #844602)
 .
   [ Michael Biebl ]
   * Add support for meson + ninja build systems.  (Closes: #795253)
 .
   [ Michael Stapelberg ]
   * dh_missing: New tool to handle --list-missing/--fail-missing.
     (Closes: #415396, #616070)
   * Dh_Lib.pm: Introduce a log_installed_files sub that can be used
     to inform dh_missing that a given file has been installed.
 .
   [ Johannes Schauer ]
   * dh_link.1: Improve the documentation and use ln(1) as a reference
     to make it simpler for people, who are used to the terms from ln.
     (Closes: #860091)
Checksums-Sha1:
 17cc7410f0f79ce9e289514d0f6c34409d8dc2cd 1725 debhelper_10.3.dsc
 2d80c50b69227ae6d252f4044eb20cc53bff0d79 398764 debhelper_10.3.tar.xz
 a04a9ea8b3896c6f504e7cc7c994fe11cef7aa23 4589 debhelper_10.3_source.buildinfo
Checksums-Sha256:
 38451d6b4db456a3d0ce1e0a27e81829f61ad1b47ec45643c5294aaa6999b150 1725 debhelper_10.3.dsc
 d17c6d1d672113cc869b079015517034516238ec83c447e3be39dd9f10ebf32c 398764 debhelper_10.3.tar.xz
 1c7885e72e7fea2a4ee61f937cbbafbceb3ca798d314f903ec469f6048106386 4589 debhelper_10.3_source.buildinfo
Files:
 5105d8877292c9ab3b93642e3ef911dd 1725 devel optional debhelper_10.3.dsc
 83e5e673b4876de586d937c2ea2ec290 398764 devel optional debhelper_10.3.tar.xz
 3739033d54fe541404b3f7de04c2ea8a 4589 devel optional debhelper_10.3_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEsxMaRR2/33ygW0GXBUu7n32AZEIFAlkN0GUACgkQBUu7n32A
ZEJSTw/9EFZN+z375Q7WdAj6LEiDVoh3InkCQELR4/HQk5D9gXpTzUrKGQrmw5u9
77jxRo05KVny8H4GwtII+ShhYXNwGjnC5DauSVqKlI8Mp820kLfvP8Lwb+QQ4zME
e7T0+aejxjy+1OKIIppv29GLe/lgYaUxlPwkhlKyKodoTKXDfmZyurS5blemcGiA
aj6hl3X9Nv3uxOzXU4511qbJUHZHXSgVqGQNISEsiqetLmjL+DfssEwoufSA9+w4
E2jNp92Email5QT3R4VPISLxUrji5PkoIgxZ98hOmHdq6KL8vRr/WTomARKcW43m
zmcI9+WxzIZRnOr9uEvAJQf+GTCxmyPPmmKbW9xZk3pB1M+BHdzF4h9Yp+mMVHvh
pMIrlOY8BhIonIjgXD/F8gzxp0QkLf6zZ9AW/OneUB3L1Ra5D6dLmFd5PfhonnIA
CsdWZ8NiE4EUF2Z6LOikmaTUt4ls3NW1wpwyHnoHDnegA+MKDdcOph8JOGMwNenO
N3s+bQu044de5///NaJ/pBYluJ1NNc6CyR+OM1y25wS4Ob5qezbEZ8gAI+mI7ooq
FObckHxAxrELONj1NaMU+WzkW9vXcZQMvAWO6sP0vuV0fhP02qhfK6qKJw4HwDpu
UnPhR+9V4CagVwtcbtc+Ye6pcQBfmSGlvcm7SQTG9KwU8lDFlJg=
=OcJH
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 07 Aug 2017 07:27:12 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Nov 19 12:43:48 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.