Rpmbuild Dwz Error

Home » CentOS » Rpmbuild Dwz Error
CentOS 6 Comments

CentOS,

I’m not sure where to ask this, please let me know if there is a more appropriate place.

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?

Thanks,
-Andrew

6 thoughts on - Rpmbuild Dwz Error

  • 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).

  • Am 21.08.2015 um 21:08 schrieb Александр Кириллов :

    and if you do not need the debug packages, add

    %_enable_debug_packages 0

    into your .rpmmacros file


    LF

  • 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.

    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}

  • Am 21.08.2015 um 23:46 schrieb Andrew Neuschwander :

    such files (e.g. ending with .so.debug) should not be included. Check your %files section. I suggest an explicit list (without wildcards) …


    LF

  • Am 22.08.2015 um 00:18 schrieb Ned Slider :

    this addresses debuging symbols in the binaries. A bit different to the mentioned debug packages.

    specific user wide, not system wide :-)

    also feasible.


    LF