public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Andrey Repin <anrdaemon@yandex.ru>
To: Linda Walsh <cygwin@tlinx.org>, cygwin@cygwin.com
Subject: Re: Running a program using a DLL under Cygwin
Date: Sun, 11 Oct 2015 14:35:00 -0000	[thread overview]
Message-ID: <2710156785.20151011172001@yandex.ru> (raw)
In-Reply-To: <5619F993.1030703@tlinx.org>

Greetings, Linda Walsh!

>>> I think symlink is a cygwin thing.  Windows won't find that DLL (just
>>> like you won't find it using windows explorer.)
>> 
>> Unless he have created a Windows symlink, that is correct.
>> Explorer, however, may find it, as Cygwin symlinks are Windows LNK files.
> ----
> Cygwin symlinks can use native Windows format, if you put 'winsymlinks:native export'
> in your 'CYGWIN' env var at startup -- preferably in your Win profile.

> However, cygwin occasionally has some bugs in how it creates links:
> /tmp> touch x
> /tmp> ln -s x y    
> /tmp> ll x y
> -rw-rw-r--+ 1 0 Oct 10 22:27 x
> lrwxrwxrwx  1 6 Oct 10 22:28 y -> /tmp/x
> /tmp> cmd /c dir ?|grep '\s[xy]'
> 10/10/2015  10:32 PM                 0 x
> 10/10/2015  10:40 PM    <SYMLINK>      y [C:\tmp\x]
> /tmp> rm y
> /tmp> mklink x y

Do note that native mklink has arguments in the opposite order. (Microsoft...)

> symbolic link created for y <<===>> x
> tmp> cmd /c dir ?|grep '\s[xy]'
> 10/10/2015  10:32 PM                 0 x
> 10/10/2015  10:43 PM    <SYMLINK>      y [x]

> Normally cygwin can create relative symlinks but for some reason 
> using these names -- in /tmp, it did not.

> (if I used a name other than 'y' for the symlink like 'winlink' or 'cyglink'
> then they both were relative links)

> Go figger...

> Also, FWIW Cygwin 'hardlinks' are Windows 'hardlinks'.  
> No significant difference.

Well, it is a difference.
If target of a symlink is deleted and recreated, the symlink will still work.
If a hardlinked file is deleted and recreated, it'll lose the link between the
two.

> So you could use a windows symlink or hardlink created in cygwin
> to the location of your 'dll' and it "should" work (but I haven't
> tested it)

For the purposes of DLL loading, hardlink is probably a good choice.


-- 
With best regards,
Andrey Repin
Sunday, October 11, 2015 17:17:03

Sorry for my terrible english...


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

  reply	other threads:[~2015-10-11 14:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 13:37 Dr Rainer Woitok
2015-10-08 13:56 ` Yucong Sun
2015-10-08 14:54   ` Csaba Raduly
2015-10-08 15:20   ` Andrey Repin
2015-10-11  5:54     ` Linda Walsh
2015-10-11 14:35       ` Andrey Repin [this message]
2015-10-11 22:38         ` Problems w/cygsym links vs. winsymlnks: (was Re: Running a program using a DLL under Cygwin) Linda Walsh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2710156785.20151011172001@yandex.ru \
    --to=anrdaemon@yandex.ru \
    --cc=cygwin@cygwin.com \
    --cc=cygwin@tlinx.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).