Package: debhelper
Version: 12.2.3
Severity: normal

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

Hi,

After setting "debhelper-compat (= 12)" on golang-golang-x-tools, 
I encountered the following error which aborted the package build:

    dwz: Too few files for multifile optimization
    objcopy: 
'debian/golang-golang-x-tools/usr/lib/debug/.dwz/x86_64-linux-gnu/golang-golang-x-tools.debug':
 No such file
    dh_dwz: objcopy --compress-debug-sections 
debian/golang-golang-x-tools/usr/lib/debug/.dwz/x86_64-linux-gnu/golang-golang-x-tools.debug
 returned exit code 1

Perplexed by this error, I removed the '-q' option from the dwz
in my local /usr/bin/dh_dwz, and saw warning messages like this:

    dwz: debian/golang-golang-x-tools/usr/bin/authtest: .debug_info section not 
present
    dwz: debian/golang-golang-x-tools/usr/bin/benchcmp: .debug_info section not 
present
    dwz: debian/golang-golang-x-tools/usr/bin/callgraph: .debug_info section 
not present
    ...
    dwz: debian/golang-golang-x-tools/usr/bin/vet: .debug_info section not 
present

It turns out that these Go compiled ELF executables have .zdebug_info
rather than .debug_info section, i.e., "DWARF sections are now compressed
by default" as stated in the Go 1.11 Release Notes at
https://golang.org/doc/go1.11#debugging .

And then, since dwz (0.12.20190711-1), "If .debug_info section not present,
exit with 0.  See also #931792 https://bugs.debian.org/931792,
https://sourceware.org/bugzilla/show_bug.cgi?id=24766 and
https://sourceware.org/git/?p=dwz.git;a=commit;h=51a7fba9895c0256888fe8996f37c598ca56749a

So, I recommend that dh_dwz should have a check added to ensure
the multifile actually exists before running objcopy, and if not,
dh_dwz probably should print some warnings, then exit gracefully with 0.



Anyhow, for golang-golang-x-tools, initially not wanting to disable
dh_dwz altogether, I tried the following workaround:

        override_dh_dwz:
                dh_dwz || :

But then I encountered a second problem: An empty
golang-golang-x-tools-dbgsym package
containing only /usr/lib/debug/.dwz/x86_64-linux-gnu/
got generated.

I realized this was previously fixed in debhelper (11.4.1):

  * dh_strip: Remove empty /usr/lib/debug directories left over
    by dh_dwz.  Thanks to Ferenc Wágner for reporting the issue.
    (Closes: #909303)

But perhaps these warning messages give a clue:

    dh_strip: Could not find the BuildID in 
debian/golang-golang-x-tools/usr/bin/findcall
    dh_strip: Could not find the BuildID in 
debian/golang-golang-x-tools/usr/bin/vet
    ...

Looking at 
https://salsa.debian.org/debian/debhelper/commit/423cfce04719f41d7224d75155c4e7f9a97a10e9,
 it appears to me that the fix for #909303:

    doit('rmdir', '-p', '--ignore-fail-on-non-empty', "$tmp/usr/lib/debug");

currently gets to run only if BuildID was found.

Sorry, I probably should have filed a second bug report for dh_strip,
but these two issues seem related, and I am lazy.  :-)

Many thanks!

Anthony Fok

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

Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages debhelper depends on:
ii  autotools-dev            20180224.1
ii  dh-autoreconf            19
ii  dh-strip-nondeterminism  1.3.0-1
ii  dpkg                     1.19.7
ii  dpkg-dev                 1.19.7
ii  dwz                      0.12.20190723-1
ii  file                     1:5.37-5
ii  libdpkg-perl             1.19.7
ii  man-db                   2.8.5-2
ii  perl                     5.28.1-6
ii  po-debconf               1.0.21

debhelper recommends no packages.

Versions of packages debhelper suggests:
ii  dh-make  2.201802

- -- no debconf information

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

iQIzBAEBCAAdFiEEFCQhsZrUqVmW+VBy6iUAtBLFms8FAl1Bg84ACgkQ6iUAtBLF
ms9KeRAAo0J3nvQ0OGD34JNWPwi5QN2OyidBVok5j+eoMLcE+lnM6+Sj8c7Z6/VV
5JErTBSWLnls5cJC6aY8S/b1SujoKM8Y6OcLAsMQIegvB1AsYFb3Fo7bPdOAfAXn
gClmBd5mxc7Z8w3wCXTaqVhIvf8aCm/CUhjBSx1aW6rOzhpK1uFdD416KLuSo1fe
1nFAXbC+JXbhhi9B96lGjrSAgL/ZJeAI1CaArzcmb5e3twd3pxbq6HrbvnXzDP1S
//h0E1MLyr9fRO5EEZ5Zmel3FQSDJbMWBrvPdNSryifBRtJj5QVUvhAB76BhycBk
aHpVMCRt81jo5hEZo9Q3LB5MsTpCMcwI9BxvtP5VlWGIRmC8aRnTFVL48QJi/ZFf
6VLyE4mx2Ri6vWZ2oW24zDak4YB2VywgBgdjIlBO3WAQTBNOEIDTHdd3vOB4Fna0
FSkSZZgtQKYHSFzX2HCjjw7FqgmgvF/ZMe2YZtY01yP9zNJuBnzilLLQQbi0Tdam
VLCOGoHMO9Mau3maeSnIp7IgWgXnI/doVao/Qp5xZEWrPodDUXJVZtSNopp8hEpj
xxWKq5oeeQ7CTYOujzOsz+Mc87BYZC838jWZLHTt3ylvJrlOTOqf+ly02RguQsEr
wdXMyzF67Kc93UUArG7s2u5SSrP5AYSQL7BN4HyckJ7hW7V20mE=
=vRj/
-----END PGP SIGNATURE-----

Reply via email to