GNU bug report logs - #10427
coreutils-8.14.116-1e18d: testsuite failures on NetBSD 5.1

Previous Next

Package: coreutils;

Reported by: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Date: Tue, 3 Jan 2012 17:37:01 UTC

Severity: normal

Tags: fixed

Done: Assaf Gordon <assafgordon <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: 10427 <at> debbugs.gnu.org
Cc: jim <at> meyering.net
Subject: bug#10427: coreutils-8.14.116-1e18d: testsuite failures on NetBSD 5.1
Date: Thu, 05 Jan 2012 01:00:35 -0800
I'm sending this to bug-automake because I think it's an automake
issue.  However, the problem causes the latest coreutils snapshot
to fail to build, so I'm CC'ing to bug-coreutils.

> On 01/03/2012 06:10 PM, Jim Meyering wrote:
>> FYI, here's a snapshot of what will soon be coreutils-8.15,
>> expected on Thursday or Friday.
>>
>> coreutils snapshot:
>>   http://meyering.net/cu/coreutils-ss.tar.xz      5.2 MB
>>   http://meyering.net/cu/coreutils-ss.tar.xz.sig
>>   http://meyering.net/cu/coreutils-8.14.116-1e18d.tar.xz

This snapshot doesn't build on Solaris 8 (sparc) with native tools,
for a couple of reasons.  I don't expect Solaris 8 is an active
porting target any more, but these problems could well happen on
active targets.


First, there's code like this in tests/Makefile.in:

	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) "$$tst" \
	$(AM_TESTS_FD_REDIRECT)

This code is generated by Automake.  Here, AM_TESTS_FD_REDIRECT
is empty.  Solaris 8 'make' executes the above as follows:

   bash -c '[expansion of previous line] \'

and Bash complains about a syntax error with the trailing backslash.

How about changing Automake to generate something like this instead,
with no backslash-newline?

	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) "$$tst" $(AM_TESTS_FD_REDIRECT)

This should avoid the problem.


Second, there's code like this in tests/Makefile.in:

	@list='$(TEST_LOGS)'; \
	list=`for i in $$list; do \
	  test .log = $$i || echo $$i; \
	done | tr '\012\015' '  '`; \
	list=`echo "$$list" | sed 's/ *$$//'`; \

This generates a long line and sends it to 'sed',
which complains "Output line too long." and outputs nothing.

This code is also generated by Automake.  How about changing Automake
to generate something like this instead?

	@test_logs='$(TEST_LOGS)'; \
	list=; \
	for i in $$test_logs; do \
	  test .log = "$$i" || list="$$list $$i"; \
	done; \

This avoids the business with echo and tr and ` sed and
avoids the sed limitation with long lines.

Automake does this latter sort of thing in about 4 places,
and I figure it's done that way for a reason, but I don't
know what the reason is.





This bug report was last modified 6 years and 314 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.