Ralf Wildenhues <[EMAIL PROTECTED]> writes: > OK to apply?
I applied that fix (my fault I think, since I introduced that bug). Thanks for tracking this down and fixing it. > one underlying issue -- that the testsuite already exports CONFIG_SHELL > and thus may skew testsuite results -- may need to be revisited as well > eventually. (I'd like to avoid to do that now, if possible, but am open > to suggestions here. Ideally, we should do we both with the skewy > setting of CONFIG_SHELL and without, given that users are equally likely > to screw this up. ;-) On a related topic, I tried to reproduced Dalibor Topic's problem on Solaris 8 with CONFIG_SHELL=/bin/ksh. I didn't reproduce it, as Solaris 8 uses ksh88 whereas NetBSD evidently uses a clone. However, I discovered that "make check" is incredibly slow -- and this is even after I fixed the /bin/sh -n bug. I think this is because ksh88 still creates lots of files in /tmp for here documents. I couldn't wait for it to finish, but I expect "make check" would take about 10 hours. Even when I reverted to the default, which uses /bin/bash, "make check" still takes about an hour on my 1 GHz 4-CPU sparc server. (I'm estimating this -- I don't have the patience to wait for it to finish.) This is so long, that I expect that people won't bother to run it on traditional Unix hosts. We therefore won't get test results back. This is not a good thing. Part of the problem is that each call to configure does the search for the right shell to use. This is an expensive search. It should be cheaper. And we shouldn't do it for every test case: one test is enough. I think this severe performance bug is worth fixing before 2.60 comes out. Part of the problem is that Sun's /usr/bin/perl does globbing of PATTERN by forking and running "sh -c /usr/bin/csh -cf 'set nonomatch; glob PATTERN'" (yup, that's how Perl historically did things, and perl 5.005_03 fits the mold. I wish I'd advised Larry Wall way back when that this was a dumb idea!). And csh starts up by doing the equivalent of pwd, which walks up the file tree. This performance black hole is fixed in Solaris 10 (which uses perl 5.8.4), but not in Solaris 9 (which uses 5.6.1). I'm not sure we can do much about this, except perhaps by avoiding globbing in our Perl scripts whenever possible -- i.e., use the shell to glob, not Perl. Part of the problem is that GNU m4 also does its fair share of creating and removing lots of silly little files in /tmp. But the main problem is that Autoconf itself is too slow, and it has too many tests. One possible workaround is to throw out 90% of the tests for most people, reserving the other tests for the maintainers. This will make "make check" ten times faster, and then it will be more likely to get used. This might be worth doing before 2.60 comes out. As things stand, "make check" simply won't get used, at least not by most people.
