Issues with Cygwin64 on Windows11

Ken Brown kbrown@cornell.edu
Tue Aug 2 01:14:52 GMT 2022


On 7/31/2022 8:23 PM, Takashi Yano wrote:
> On Sun, 31 Jul 2022 17:21:32 +0900
> Takashi Yano wrote:
>> On Sun, 31 Jul 2022 09:11:17 +0300
>> Dimax wrote:
>>> Hello.
>>> I've never had much luck with Cygwin64 and used the 32 bit version before.
>>> Today I have no choice and I've installed Cyg64 on my new Win11 PC.
>>>
>>> Here is the first major issue I faced. I can not create symbolic links:
>>>
>>> Alex@Alexo ~
>>> $ ls /cygdrive/C/XOL/
>>>
>>> Alex@Alexo ~
>>> $ ln -s /cygdrive/C/XOL/ work
>>>
>>> Alex@Alexo ~
>>> $ ls -all work
>>> lrwxrwxrwx 1 Alex None 11 Jul 31 09:09 work -> /mnt/C/XOL/
>>>
>>> Alex@Alexo ~
>>> $ cd ~/work/
>>> -bash: cd: /home/Alex/work/: No such file or directory
>>>
>>> The link is created but I can not use it.
>>> The only thing that I did not standard was to call installation folder
>>> C:\Cygwin instead of default C:\Cygwin64
>>>
>>> Any help would be highly appreciated.
>>
>> Thanks for the report. This seems to happen only when
>> the drive letter is uppercase.
>>
>> ln -s /cygdrive/c/XOL/ work
>> works.
>>
>> Anyway, I think this is a problem of cygwin1.dll.
>>
>> This
>> work -> /mnt/C/XOL/
>> should be
>> work -> /cygdrive/C/XOL/
>> shouldn't it?
>>
>> It guess this is a bug in the code added for WSL
>> compatibility.
> 
> I found the patch attached solves the issue.
> 
> Corinna, WDYT?

I'm not Corinna, but replacing oldpath by normpath doesn't seem like the right 
thing to do at the time of symlink creation.  If I create a symlink under 
Cygwin, I expect the target to be used under Cygwin exactly as I enter it.  The 
internal replacement of the cygdrive prefix by /mnt for WSL compatibility is 
fine, as long as I never see it except under WSL.  But since WSL doesn't 
recognize /mnt/<uppercase drive letter>, I don't think Cygwin should convert 
/<cygdrive prefix>/<uppercase drive letter>.  Users who want WSL 
interoperability just have to use lowercase drive letters.

I'm tempted to go even further and say that Cygwin shouldn't ever convert the 
cygdrive prefix to /mnt, on the grounds that users who care about WSL 
interoperability can simply use /mnt as their cygdrive prefix.  But maybe that 
ship has sailed.

Ken


More information about the Cygwin mailing list