How to fix |mkfifo()| failure if |pathname| is on NFS ? / was: Re: [EXTERNAL] Re: mkfifo: cannot set permissions of 'x.fifo': Not a directory

Brian Inglis
Sat Aug 26 19:16:23 GMT 2023

On 2023-08-26 11:40, Martin Wege via Cygwin wrote:
> On Sat, Aug 26, 2023 at 4:16 PM Corinna Vinschen via Cygwin
> <> wrote:
>> On Aug 26 13:26, Cedric Blancher via Cygwin wrote:
>>> On Fri, 25 Aug 2023 at 14:26, Corinna Vinschen via Cygwin
>>> <> wrote:
>>>> On Aug 25 14:18, Corinna Vinschen via Cygwin wrote:
>>>>> On Aug 23 01:05, Roland Mainz via Cygwin wrote:
>>>>>> 2. Check whether the filesystem for the fifos path is NFS
>>>>>> (cgywin.dll's |fs.fs_is_nfs()|), and then just refuse |mkfifo()| with
>>>>>> |ENOSYS| (not implemented)
>>>>> I like the idea.
>>>> EPERM, btw.  See
>>> I am vehemently opposed to that idea. That will IMHO not only be the
>>> wrong solution, it will break actual things like autoconf&friends on
>>> NFS - they create fifos for testing, but do not use them. If you just
>>> make this return EPERM, then you break stuff we have to rely on.
>>, please.#
> Real world failure for Cygwin on NFS:
> wget '
> cd ksh-1.0.4
> $PWD/bin/package make
> This fails with Cygwin 3.4.8-1:
> cat buildlog.log
> package: update
> /cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/bin/execrate
> package: initialize the
> /cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/arch/cygwin.i386-64
> view
> package: update
> /cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/arch/cygwin.i386-64/lib/probe/C/make/probe
> package: update
> /cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/arch/cygwin.i386-64/bin/mamake
> package: make with mamake
> package: make output captured in
> /cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/arch/cygwin.i386-64/lib/package/gen/make.out
> mkfifo: cannot set permissions of
> '/cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/arch/cygwin.i386-64/lib/package/gen/make.out.fifo':
> No such file or directory
> package: make done at Fri Aug 26 19:24:26 CEST 2023 in
> /cygdrive/z/arbeitdfn/windows_ksh/build_nfsv3/ksh-1.0.4/arch/cygwin.i386-64
> If you need more examples just let me now, we have MUCH more of that...

No - the DLL developers need fewer examples, just *ONE* Simple Test Case, boiled 
down to the essentials, with notes on preconditions, if you can not recreate the 
required conditions in a program or script.

Alternatively, Cygwin strace output with notes from a failing program, or a gdb 
script and log of the failing code with enough calling context and notes.

Please read the problem reporting guidelines linked at the bottom of all posts 
and follow them.

Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

More information about the Cygwin mailing list