Hi Mark,

On Apr 15 23:53, Mark Geisert wrote:
> After installing a recent DLL built from the git source tree I noticed:
> 
> ~ ln -s /tmp/foo .
> 
> ~ ls -l foo
> lrwxrwxrwx 1 Mark None 12 Apr 15 23:44 foo -> /mnt/tmp/foo

Huh?  That works for me, independently of /tmp/foo existing or not:

  $ ln -s /tmp/foo .
  $ ls -l foo
  lrwxrwxrwx 1 corinna Users 8 Apr 16 10:38 foo -> /tmp/foo

Since you're building the DLL yourself, can you please debug this with
GDB?  It would be very important to find out what on your system adds
the /mnt prefix!

It could occur in creating the symlink, that's in path.cc, function
symlink_wsl(), or it could occur in reading the symlink, path.cc,
function check_reparse_point_target(), in the else if (rp->ReparseTag ==
IO_REPARSE_TAG_LX_SYMLINK) branch at line 2534.

As for /mnt itself, it's the WSL equivalent to the cygdrive prefix.
When creating WSL symlinks, Cygwin converts the cygdrive prefix to
/mnt, and when reading WSL symlinks, a leading /mnt is converted
to the current cygdrive prefix on the fly.

We should just move further discussions to the cygwin-developers ML.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer

Attachment: signature.asc
Description: PGP signature

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to