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

Reply via email to