Subject: bug#12778: Failure when running check-root make target

From: Andrew Warshall <[email-masked]>
Date: Sun, 4 Nov 2012 14:21:05 -0500

> > Hi,
> > 
> > When running 'make NON_ROOT_USERNAME=nobody check-root' on
> > coreutils-8.20, I get:_ROOT_USERNAME=nobody check-
> > 
> >   CCLD   test-xvasprintf
> >   CC     test-yesno.o
> >   CCLD   test-yesno
> > make[6]: Leaving directory
> > `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> > make  check-TESTS
> > make[6]: Entering directory
> > `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> > make[7]: Entering directory
> > `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> > make[7]: *** No rule to make target `tests/chown/basic.sh.log',
> > needed by `test-suite.log'.  Stop.
> > make[7]: Leaving directory
> > `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> > make[6]: *** [check-TESTS] Error 2
> > 
> > This looks a little odd to me, as it appears that its finished
> > building the gnulib-tests, comes out of that directory, then
> > immediately goes back in to then start running coreutils' own tests,
> > which it has already successfully run.  Unless I've completely
> > misread the logs, that is.
> > 
> > This is on a Fedora-17 host, in case it's caused by make (3.82) or
> > something else in the toolchain.
> > 
> > Thanks,
> > 
> > Matt.
> 
> 
> I'm getting the same thing --- same version of make, too. I think it's
> finished building the gnulib-tests and is at the time of the error
> trying to start running them. At that point, it's looking for  logs
> of the non-gnulib tests in tests/ (the non-gnulib testing dir). Those
> exist, but under names like foo.log (for test foo), whereas
> gnulib-tests/Makefile is expecting foo.sh.log. I tried to wade through
> the Makefile to find the problem, but failed miserably. It would be
> good if someone who understands Autoconf could look at this.
> 
> Please note that this problem didn't exist in 8.19.

I did some more testing; apparently the tests run fine if you just run
"make NON_ROOT_USERNAME=nobody -k check-TESTS" in gnulib-tests/. So I
think there's some variable getting passed down the chain of recursion
which is making it look for testing logs for non-gnulib tests.
(Incidentally, it's also looking for them under the wrong filename, but
that's not the underlying problem.) Is anyone else having our problem?
In particular, is it local to GNU make 3.82?

              -Andrew Warshall