[CentOS] rpmbuild dwz error

Fri Aug 21 22:18:24 UTC 2015
Ned Slider <ned at unixmail.co.uk>


On 21/08/15 22:46, Andrew Neuschwander wrote:
> On 08/21/2015 02:04 PM, Leon Fauster wrote:
>> Am 21.08.2015 um 21:08 schrieb Александр Кириллов <nevis2us at infoline.su>:
>>>> On CentOS 7, I'm building a large C++ package with rpmbuild. Arachne
>>>> (https://www.broadinstitute.org/crd/wiki/index.php/Arachne_Main_Page).
>>>> During the debuginfo extraction stage, I get the following error:
>>>> + /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz
>>>> --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000
>>>> /home/andrew/rpmbuild/BUILD/arachne-46233
>>>> dwz: Multifile temporary files too large
>>>> cpio: /builddir/build/BUILD/glibc-2.17-c758a686/math: Cannot stat: No
>>>> such file or directory
>>>> cpio: arachne-46233/src/Calculator.cc: Cannot stat: No such file or
>>>> directory
>>>> cpio: arachne-46233/src/Calculator.y: Cannot stat: No such file or
>>>> directory
>>>> 36150 blocks
>>>> rpmbuild/dwz appear to be using /var/tmp for large temporary debug
>>>> info files. This package generates over 30GB of debug data and I think
>>>> it is filling up /var/tmp leading to the error. How can I tell
>>>> rpmbuild to use an alternative temporary file location?
>>>
>>> Try to change %_tmppath in /usr/lib/rpm/macros or build in mock and
>>> place the whole chroot on a larger drive (/etc/mock/site-defaults.cfg).
> 
> I set %_tmppath (in ~/.rpmmacros) and $TMPPATH (xz called by
> find-debuginfo.sh uses it) and more parts of the build process used my
> custom tmppath. But dwz still uses large temporary files in /tmp.
> 
>>
>>
>> and if you do not need the debug packages, add
>>
>> %_enable_debug_packages  0
>>
>> into your .rpmmacros file
>>
>> -- 
>> LF
>>
> 
> I tried disabling the debug packages but then rpmbuild just leaves the
> debuginfo in the binaries and I ended up with a 30GB binary rpm.
> 
> -A

That sounds like the package hasn't been stripped. You can manually
strip the debug information (see man strip), but rpmbuild should do this
as part of the build process.

Rather than disabling debuginfo packages system wide as suggested above,
try disabling in package SPEC file:

%define  debug_package  %{nil}