Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds
Hello Svante, On Wed, Mar 30, 2016 at 10:20:30AM +0200, Svante Signell wrote: > Noted! > But the rules: > ifneq ($(DEB_BUILD_ARCH),ia64) > LDFLAGS += -Wl,--no-keep-memory -Wl,--reduce-memory-overheads > endif > ifneq ($(DEB_BUILD_ARCH),alpha) > LDFLAGS += -Wl,--no-keep-memory > endif > would set LDFLAGS --no-keep-memory twice and --reduce-memory-overheads once > for > all architectures not matching ia64,alpha, right? correct. We will probably drop this two checks, IA64 isn't alive for a longer time and Alpha is broken since 31.4.0 and wont refited without help. > It does not work for me either. However the debian/rules is not OK, see below: > > dpkg-buildpackage: host architecture hurd-i386 > fakeroot debian/rules clean > dh clean > dh_testdir > dh_auto_clean > dh_clean > debian/rules build > make: 'build' is up to date. <- This i not correct, the build hasn't even > started This is fixed by Christoph in http://anonscm.debian.org/cgit/pkg-mozilla/icedove.git/commit/?id=54ed88d1a5c27fa08cbb18ebc89408812ef60377 > fakeroot debian/rules binary <- Never build a package under fakeroot, this is > not necessary and can can cause serious problems. I've seen this for other > packages too, it is probably a bug in the dh_* tools. > dh binary > dh_testdir > dh_update_autotools_config > debian/rules override_dh_auto_configure > ... I haven't looked at this issue in detail. We don't call anythere fakeroot $foo so I assume this is a bug in debhelper. > Additionally: debian/rules binary does not restart the build from scratch > after > a failure. All built files e.g. under obj-icedove and obj- are > still present, i.e. not cleaned out! This is also been fixed by Christoph in http://anonscm.debian.org/cgit/pkg-mozilla/icedove.git/commit/?id=54ed88d1a5c27fa08cbb18ebc89408812ef60377 Regards Carsten
Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds
On Thu, 2015-12-24 at 22:24 -0500, Christoph Goehre wrote: > Hi Svante, > > On Mi, Dez 16, 2015 at 10:33:07 +0100, Svante Signell wrote: > > > > Currently icedove FTBFS on GNU/Hurd due to memory problems when linking > > large > > libraries. The attached patch fixes this problem by giving the --no-keep- > > memory > > flag to the linker as for alpha and ia64. > I use 'ifneq' instead of 'ifeq', so everything EXCEPT alpha and ia64 build > with > 'LDFLAGS += -Wl,--no-keep-memory'. If I apply your patch, hurd wouldn't get > -Wl,--no-keep-memory. Noted! But the rules: ifneq ($(DEB_BUILD_ARCH),ia64) LDFLAGS += -Wl,--no-keep-memory -Wl,--reduce-memory-overheads endif ifneq ($(DEB_BUILD_ARCH),alpha) LDFLAGS += -Wl,--no-keep-memory endif would set LDFLAGS --no-keep-memory twice and --reduce-memory-overheads once for all architectures not matching ia64,alpha, right? > > > > Additionally, since dh_clean does not enable building a second time after a > > build failure, add an override target for sh_auto_clean: > > override_dh_auto_clean: > > make -f client.mk distclean > Have you try to add this to debian/rules and build icedove from scratch? > For me, it's not working, see: > It does not work for me either. However the debian/rules is not OK, see below: dpkg-buildpackage: host architecture hurd-i386 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean dh_clean debian/rules build make: 'build' is up to date. <- This i not correct, the build hasn't even started fakeroot debian/rules binary <- Never build a package under fakeroot, this is not necessary and can can cause serious problems. I've seen this for other packages too, it is probably a bug in the dh_* tools. dh binary dh_testdir dh_update_autotools_config debian/rules override_dh_auto_configure ... Additionally: debian/rules binary does not restart the build from scratch after a failure. All built files e.g. under obj-icedove and obj- are still present, i.e. not cleaned out!
Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds
Hi Svante, On Mi, Dez 16, 2015 at 10:33:07 +0100, Svante Signell wrote: > Currently icedove FTBFS on GNU/Hurd due to memory problems when linking large > libraries. The attached patch fixes this problem by giving the > --no-keep-memory > flag to the linker as for alpha and ia64. I use 'ifneq' instead of 'ifeq', so everything EXCEPT alpha and ia64 build with 'LDFLAGS += -Wl,--no-keep-memory'. If I apply your patch, hurd wouldn't get -Wl,--no-keep-memory. > Additionally, since dh_clean does not enable building a second time after a > build failure, add an override target for sh_auto_clean: > override_dh_auto_clean: > make -f client.mk distclean Have you try to add this to debian/rules and build icedove from scratch? For me, it's not working, see: --8<-- root@machine:/tmp/buildd/icedove-38.4.0# dpkg-buildpackage -b dpkg-buildpackage: source package icedove dpkg-buildpackage: source version 38.4.0-1.1 dpkg-buildpackage: source distribution UNRELEASED dpkg-buildpackage: source changed by rootdpkg-buildpackage: host architecture amd64 dpkg-source --before-build icedove-38.4.0 debian/rules clean dh clean dh_testdir debian/rules override_dh_auto_clean make[1]: Entering directory '/tmp/buildd/icedove-38.4.0' make -f client.mk distclean make[2]: Entering directory '/tmp/buildd/icedove-38.4.0' Specified MOZCONFIG "/tmp/buildd/icedove-38.4.0/mozconfig.icedove" does not exist! client.mk:116: *** Fix above errors before continuing.. Stop. make[2]: Leaving directory '/tmp/buildd/icedove-38.4.0' debian/rules:86: recipe for target 'override_dh_auto_clean' failed make[1]: *** [override_dh_auto_clean] Error 2 make[1]: Leaving directory '/tmp/buildd/icedove-38.4.0' debian/rules:46: recipe for target 'clean' failed make: *** [clean] Error 2 dpkg-buildpackage: error: debian/rules clean gave error exit status 2 -->8-- BTW: I'm able to build a second time after a build failure. Just use 'debian/rules binary'. It works for me. Cheers, Christoph
Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds
Source: icedove Version: 38.4.0-1 Severity: important Tags: patch Usertags: hurd User: debian-h...@lists.debian.org Hi, Currently icedove FTBFS on GNU/Hurd due to memory problems when linking large libraries. The attached patch fixes this problem by giving the --no-keep-memory flag to the linker as for alpha and ia64. Additionally, since dh_clean does not enable building a second time after a build failure, add an override target for sh_auto_clean: override_dh_auto_clean: make -f client.mk distclean--- a/debian/rules.orig 2015-11-27 18:55:34.0 +0100 +++ b/debian/rules 2015-12-16 14:58:00.0 +0100 @@ -35,6 +35,9 @@ ifneq ($(DEB_BUILD_ARCH),alpha) LDFLAGS += -Wl,--no-keep-memory endif +ifneq ($(DEB_BUILD_ARCH),hurd-i386) + LDFLAGS += -Wl,--no-keep-memory +endif # Also add execution time and memory usage stats in the logs LDFLAGS += -Wl,--stats @@ -82,6 +85,9 @@ # building the stuff make -f client.mk build +override_dh_auto_clean: + make -f client.mk distclean + override_dh_auto_install: make -f client.mk install DESTDIR=$(CURDIR)/debian/tmp