Control: tags -1 - unreproducible
Control: forwarded -1 
https://lists.gnu.org/archive/html/bug-ncurses/2018-08/msg00011.html

Am 15.07.2018 um 12:30 schrieb Sven Joachim:

> Am 14.07.2018 um 22:43 schrieb Helmut Grohne:
>
>> Source: ncurses
>> Version: 6.1+20180210-4
>> User: helm...@debian.org
>> Usertags: rebootstrap
>> Tags: unreproducible
>>
>> Since very recently, I see a weird build failure for ncurses.
>
>> Unfortunately, I lost the relevant build logs, but let me try to
>> give you as much data as I still have.
>>
>> Thus far, I've seen the failure twice. The linker complains about a
>> truncated libmenuw.so.
>
>> Presumably it happens during the objdir-test
>> build and linking libmenuw.so appears to happen concurrently.
>
> Hard to imagine how this could happen, considering that the test
> programs' configure script is only supposed to be run after the wide
> libraries have been built already, according to the dependencies in
> debian/rules.

The dependencies in debian/rules are indeed correct, but now I have
figured out what the problem is: the upstream build system causes the
libraries to be relinked when make is run again, e.g. when debian/rules
runs "make install" to install them into debian/tmp.  I have reported
this upstream at
https://lists.gnu.org/archive/html/bug-ncurses/2018-08/msg00011.html.

Since the event of R³ support in dpkg/debhelper and the reorganization
of the build-arch/build-indep targets in ncurses 6.1+20180210-4, it is
possible that the binary-indep and build-arch targets are run in
parallel.  In particular, the install-indep and build-test targets can
run in parallel, and then you have a race condition due to the relinking
of the libraries on which the test programs depend.

Until a proper fix is available, a possible workaround is to build the
test programs in the build-indep target (untested):

diff --git a/debian/rules b/debian/rules
index ff1bd307..1bf824bc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -323,10 +323,10 @@ $(objdir-test)/config.status: build-wide config.guess-stamp
 		PKG_CONFIG_LIBDIR=$(wobjdir)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig \
 		$(relsrcdir)/test/configure $(CONFARGS-TEST)
 
-build-indep: build-normal build-wide
+build-indep: build-normal build-wide build-test
 	touch $@
 
-build-arch build: build-indep build-static build-wide-static build-test \
+build-arch build: build-indep build-static build-wide-static \
 	          build-legacy build-wide-legacy $(build_64) $(build_32)
 	touch $@
 
Cheers,
       Sven

Reply via email to