[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash-3.2 breaks process substitution
From: |
Chet Ramey |
Subject: |
Re: bash-3.2 breaks process substitution |
Date: |
Wed, 01 Nov 2006 23:30:49 -0500 |
User-agent: |
Thunderbird 1.5.0.7 (Macintosh/20060909) |
Roy Marples wrote:
> OS: freebsd6.2
> Bash Version: 3.2
> Patch Level: 3
> Release Status: release
>
> Description:
> As in subject, process substitution
>
> Repeat-By:
> cat < <(ls)
> /dev/fd/62: No such file or directory
Thanks for the fix. The configure test for /dev/fd succeeds on FreeBSD
(testing for /dev/fd/3 after `exec 3</dev/null'), when it should fail.
It should only succeed if you have the fdescfs file system mounted.
The problem is that `configure' concludes that /bin/sh's $LINENO
handling is deficient and uses bash to execute the configure script.
The bash builtin `test' interprets pathnames beginning with /dev/fd
internally, using fstat on the appropriate file descriptor, so this
test succeeds.
This should affect only FreeBSD 5 and 6.
You can fix this in a couple of ways: Edit config.h to #undef
HAVE_DEV_FD after configure finishes, or set `CONFIG_SHELL=/bin/sh'
before running configure.
I will need to figure out a better test for future versions.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
Live Strong. No day but today.
Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/