|
Bugzilla – Full Text Bug Listing |
| Summary: | symlink grep -> /bin/egrep may cause configure to lie | ||
|---|---|---|---|
| Product: | Sudo | Reporter: | David Thompson <david_a_thompson> |
| Component: | Sudo | Assignee: | Todd C. Miller <Todd.Miller> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | david_a_thompson |
| Priority: | normal | ||
| Version: | 1.6.3 | ||
| Hardware: | Sun | ||
| OS: | Solaris 2.x | ||
Grep and egrep use different regular expressions (grep basic and egrep extended). Linking grep to egrep is just a bad idea, period. However, the current version of autoconf eschews grep for egrep in most cases so this won't be a problem in sudo 1.6.4 when it is released. |
In ~/bin I have grep as a symbolic link to /bin/egrep. (I have found this symlink to be more thorough than using an alias, and I've found it rather common among my peers.) This causes configure to lie about the availability of certain header files, in particular this symlink causes configure to think header paths.h *is* available, when in fact it is not. The culprit is a grep command that is used to detect the compiler error indicating the header was not found. Specificly, approx lineno 4893 produces errorenous results if grep is symlinked to egrep, ac_err=`grep -v '^ *+' conftest.out` I would think a simple solution is for autoconf to generate configure scripts that locate grep on some standard PATH automatically, ie, grep=/bin/grep ac_err=`$grep -v '^ *+' conftest.out` Also, you need to add configure as Component to this web page. Thank you.