GNU bug report logs -
#17471
On Solaris 10, grep snapshot apparently hit by bleeding-edge Autoconf bug
Previous Next
Reported by: Paul Eggert <eggert <at> cs.ucla.edu>
Date: Sun, 11 May 2014 20:50:02 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#17471: On Solaris 10, grep snapshot apparently hit by bleeding-edge Autoconf bug
which was filed against the grep package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 17471 <at> debbugs.gnu.org.
--
17471: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17471
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
On 05/12/2014 10:33 AM, Jim Meyering wrote:
> Does anyone see a way to make it more efficient with a POSIX shell?
Yes. Eric's earlier message convinced me that grep shouldn't rely on
Autoconf guaranteeing a shell that supports substrings in parameter
expansion, so I came up with the attached patch (which keeps the shell
efficient with a POSIX shell) and pushed it before I got around to
reading your message. I tested on Solaris 10 with the shell
artificially set to /bin/sh, so I'm marking this as done.
From an Autoconf point of view it might be nice to have a good way to
say "I need a POSIX shell" or at least "I need a shell that does
substrings", but that's merely a wishlist item.
[0001-egrep-fgrep-port-to-Solaris-10-bin-sh.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
Following up to the grep snapshot announcement in:
http://lists.gnu.org/archive/html/platform-testers/2014-05/msg00000.html
That snapshot failed to build the shell scripts egrep and fgrep properly
on Solaris 10, because it set "SHELL = /bin/sh" in src/Makefile, which
caused the makefile to put "#!/bin/sh" at the top of the shell scripts,
which breaks because the shell scripts use a construct '${0%/*}' that
Solaris 10 /bin/sh doesn't grok. The build should have used SHELL =
/bin/bash, which is what grep does with my test builds.
We could work around the problem by avoiding that shell construct, but
I'd rather fix the build machinery because this bug could affect any
package that uses POSIX shell scripts. The snapshot was built with an
experimental version of Autoconf (2.69.117-1717), whereas I had tested
with the latest stable version (2.69 as shipped with Fedora 20). The
two versions differ in how they compute the name of a working shell, so
it appears that there's a bug in the experimental version of Autoconf.
A quick workaround for grep is to build the next snapshot with Autoconf
2.69. In the long run, though, we should fix the Autoconf bug. I'll
CC: this to bug-autoconf to give them a heads-up.
This bug report was last modified 11 years and 15 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.