cygwin1.dll > 3.1.4: Program execution fails if (WSL-)symlink exists and is present in PATH

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Dec 2 14:13:47 GMT 2020


On Dec  2 15:07, Thomas Wolff wrote:
> 
> 
> Am 02.12.2020 um 15:05 schrieb Corinna Vinschen:
> > On Dec  2 13:39, Takashi Yano via Cygwin wrote:
> > > On Tue, 1 Dec 2020 19:13:39 -0500
> > > Ken Brown via Cygwin <cygwin@cygwin.com> wrote:
> > > > On 12/1/2020 4:24 AM, Mattl Mario wrote:
> > > > > Hello,
> > > > > 
> > > > > Since cygwin1.dll version 3.1.5, I observed the following behavior:
> > > > > If a symbolic link is existing in the PATH environment, programs (external from Cygwin's system directory) using cygwin1.dll cannot be executed anymore.
> > > > > Possibly, because the Cygwin-DLL isn't found anymore.
> > > > > 
> > > > > Steps to reproduce:
> > > > > 
> > > > > cd /
> > > > > mkdir link_test
> > > > > cp /usr/bin/sed.exe link_test
> > > > > ln -s link_test test
> > > > > export PATH=/test:/link_test:/usr/bin:/bin
> > > > > 
> > > > > /link_test/sed cannot be executed
> > > > > $ ldd /link_test/sed
> > > > >           ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffffd960000)
> > > > >           KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ffffd140000)
> > > > >           KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ffffa8e0000)
> > > > >           SYSFER.DLL => /cygdrive/c/WINDOWS/System32/SYSFER.DLL (0x550c0000)
> > > > > 
> > > > > -> no cygwin- DLLs found
> > > > > [...]
> > > > I think this was fixed by commit 4b4fffe0f2390be6a5be27b6a3ceaa212a3724b2, but I
> > > > don't have time to check carefully, and I'm going to be AFK for a few days
> > > > starting tomorrow.
> > > I can reproduce this issue with current git head even with
> > > the commit 4b4fffe0f2390be6a5be27b6a3ceaa212a3724b2.
> > Just looking into it.  It has something to do with missing to resolve
> > a WSL symlinks to a Windows path, but I'm not sure yet where this occurs.
> Actually I confirmed the issue too and I did not have to involve WSL, cygwin
> ln -s led to the behaviour.

WSL isn't involved, WSL symlinks (created by Cygwin) are.


Corinna


More information about the Cygwin mailing list