Re: What to do when autobuilders might run out of memory when building a package
Hi,
On Tue, Feb 04, 2014 at 11:54:54PM +0100, Stephen Kitt wrote:
> > https://buildd.debian.org/status/package.php?p=seqan
> >
> > it seems that only the "more powerful" architectures are able to build
> > this package but also kfreebsd-amd64 fails (with a different error but I
> > suspect the same problem). I would consider excluding some
> > architectures but the package is really used on i386 and I wonder whether
> > there are some options to get it builded at least for this architecture.
>
> The memory allocation isn't caused by memory exhaustion but by address space
> exhaustion - pair_align.cpp needs 5GB of RAM to build with the current
> CXXFLAGS. All the failed architectures apart from kfreebsd-amd64 are 32-bit
> architectures.
Yes, this is what I noticed. No odea why also kfreebsd-amd64 failed.
> One solution is to build with no optimisations (-O0 instead of -O2, perhaps
> using noopt); that allows seqan to build on my i386 buildd. I didn't try with
> -O1.
Any volunteer to test
$ svn diff
Index: rules
===================================================================
--- rules (Revision 15979)
+++ rules (Arbeitskopie)
@@ -7,6 +7,11 @@
export CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS | sed 's/-fstack-protector *//')
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_BUILD_ARCH_BITS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_BITS)
+ifeq ($(DEB_BUILD_ARCH_BITS),32)
+ CFLAGS=$(shell dpkg-buildflags --get CFLAGS | sed 's/-O[2-9]/-O1/')
+ CXXFLAGS=$(shell dpkg-buildflags --get CXXFLAGS | sed 's/-O[2-9]/-O1/')
+endif
%:
dh $@
I do not have any properly sized i386 at hand and I would like to avoid
hammering the porter machines hard with this build which takes >2h on my
amd64 where I made sure no other process will consume some memory.
Kind regards
Andreas.
--
http://fam-tille.de
Reply to: