On Mon, Apr 21, 2014 at 11:52:59PM +0200, Emanuel Haupt wrote: > On 21/04/14 21:51, Konstantin Belousov wrote: > > On Mon, Apr 21, 2014 at 02:31:12PM -0400, John Baldwin wrote: > >> On Thursday, April 17, 2014 2:50:01 pm Konstantin Belousov wrote: > >>> The following reply was made to PR amd64/188699; it has been noted by > >>> GNATS. > >>> > >>> From: Konstantin Belousov <[email protected]> > >>> To: John Allman <[email protected]> > >>> Cc: [email protected] > >>> Subject: Re: amd64/188699: Dev tree > >>> Date: Thu, 17 Apr 2014 21:44:52 +0300 > >>> > >>> On Wed, Apr 16, 2014 at 05:32:45PM +0000, John Allman wrote: > >>> > This is how to reproduce it: > >>> > > >>> > Fresh install of 10 on AMD 64 > >>> > install bash `pkg install bash` > >>> > Switch to bash `bash` > >>> > push a here document into a loop: `while true ; do echo; done< <(echo > >>> "123")` > >>> > receive an error: "-su: /dev/fd/62: No such file or directory" > >>> > > >>> > I'm sorry I haven't been able to research this any further. I found > >>> how while working on some important matters. As I mentioned the above > >>> works fine in all > >> previous versions of FreeBSD up until 10. > >>> > >How-To-Repeat: > >>> > Fresh install > >>> > pkg install bash > >>> > bash > >>> > while true; do echo foo done< <(echo "123") > >>> > > >>> > -su: /dev/fd/62: No such file or directory > >>> > >>> So do you have fdescfs mounted on /dev/fd on the machine where the > >>> test fails ? It works for me on head, and if unmounted, I get the > >>> same failure message as yours. I very much doubt that it has anything > >>> to do with a system version. > >> > >> Question I have is why is bash deciding to use /dev/fd/<n> and require > >> fdescfs? On older releases bash uses named pipes for this instead. > > > > The aclocal.m4 contains the test which verifies the presence and usability > > of /dev/fd/n for n>=3 on the _build_ host. The result of the test > > is used on the installation host afterward. > > > > Such kinds of bugs are endemic in our ports, but apparently upstreams > > are guilty too. > > Is there anything I can do to patch the bash port? I am more than happy > to implement a fix and contact upstream about the problem.
Ideally, upstream should test the presence of fdescfs mount at runtime, instead of the compile time. They already have unused have_devfd variable. The port could add the pkg installation message which would mention the need of the mount, like it is done by openjdk ports currently.
pgp7H_e04EwE_.pgp
Description: PGP signature
