On Thursday 18 November 2010, Ralf Wildenhues wrote: > * Stefano Lattarini wrote on Wed, Nov 17, 2010 at 09:10:08PM CET: > > I'm seeing this failure with Solaris XPG4 make: > > > $ MAKE=/usr/xpg4/bin/make sh silentyacc.test > > silentyacc: running bison --version > > bison (GNU Bison) 2.4.1 > > Written by Robert Corbett and Richard Stallman. > [...] > > > A similar failure happens with heirlom make on Debian GNU/Linux. > > > > Also, the tests `silentlex.test' and `silent5.test' experience > > similar spurious failures with those two make implementations. > > > > Now, these failures (which are due to the fact that those versions > > of make do not chain implicit rules) are spurious in regard to the > > being-tested "silent-rules" functionality, and easily worked around > > by adding proper explicit dependency declarations to the generated > > Makefile.am. So I'd like to apply the attached patches to temporary > > bugfixing branches, and merge them to maint. > > > > Objections? > > Yes. Do you expect our users to have to add the same rules (which > expose internal details, namely the object file names) to their > Makefile.am files, just so things are silent? I don't think so. > Well, the users would probably need to add those rules to have things work *at all*, not just for the silent rules to work, so this is not a bug in silent-rules support, but in general Lex/Yacc support.
> So no, I don't think covering up those test failures is the right > way to go. > We are not covering them: there are other Lex/Yacc tests which are dutifully failing with those make implementations, and I don't intend to "fix" those tests, becuase (as you noticed) they are exposing a real problem. > Even more, the added rules even change semantics of the build > independently of silent-rules or not; *that* is something we > need to fix in Automake proper. > In the long run, yes; but for the moment, I think it's better to fix the tests to avoid spurious failures. Otherwise, a future change might introduce another bug causing (say) a testlex.test failure w.r.t. silent-rules output when Solaris make is used, and we won't see it becuase "that test is expected to fail anyway with Solaris make". > I think there might even be a pending patch from you for this. > Yes, an oldish one: <http://lists.gnu.org/archive/html/automake-patches/2010-05/msg00021.html> > Remember, we don't have to (and I don't want to) fix all test failures > just so that we don't see any FAILs in the logs. If things are broken, > then it is good to see that in the logs. > Yes, but here silent-rules are *not* broken, so *these* tests should not fail (while other tests on Lex/Yacc should, and do, fail). > Aside, again I don't see why this couldn't have been a single patch. > For the smae reasons stated in a previous thread: bugs/limitations fixed here were introduced in different commits; but I can merge the three patches on the top of maint, and push that, if you prefer: it's really not big deal for me. In the end, given the rationales above, would you re-evaluate the usefulness of the patch? Thanks, Stefano