On Wed, 31 Jul 2019 06:04:36 -0600 Anthony Fok <[email protected]> wrote: > 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 >
Hi, Thanks for the report. > 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: > Indeed, I have removed the -q option in git master due to other bugs as well. > [...] > > 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 . > Thanks, this is basically #931891. > 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 || : > > [...] I suspect it would have "just worked(tm)" if you had used --no-dwz-multifile instead of "|| :" Although, I concede that adding overrides for every single go (and allegedly also ruby) package would be the wrong thing to do, so I will find a better solution. Thanks, ~Niels

