X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Message-ID: <4977E7F5.1090604@cygwin.com> Date: Wed, 21 Jan 2009 22:28:53 -0500 From: "Larry Hall (Cygwin)" Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20090101 Remi/2.0.0.19-1.fc8.remi Lightning/0.9 Thunderbird/2.0.0.19 Mnenhy/0.7.5.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Questions about missing DLLs and program behvior, and symlinks to DLLs References: <496AC6E9 DOT 3090709 AT sylvan-glade DOT com> <20090112161848 DOT GB5218 AT ednor DOT casa DOT cgf DOT cx> <4977C456 DOT 8010103 AT sylvan-glade DOT com> In-Reply-To: <4977C456.8010103@sylvan-glade.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Ray Simard wrote: > Christopher Faylor wrote: >> On Sun, Jan 11, 2009 at 08:28:25PM -0800, rhs DOT cygwin AT sylvan-glade DOT com wrote: >>> Hello! I haven't been able to find anything about this in the archives. >> ... > >>> shows, programs simply exit silently and unceremoniously when that happens. >> That is fixed in Cygwin 1.7.x. > > Good news. >>> Second, symlinking to DLLs doesn't enable programs to find them, as is >>> also shown below. >> Right. Symlinks are a Cygwin invention. Cygwin doesn't start running >> until after DLLs are loaded. So, since Windows does not know about Cygwin >> symlinks there is no way that they can be used to symlink DLLs. > > True; they are .lnk files with a special comment, IIRC. I'd just like to > make sure I understand this. Suppose I compile bar.dll and > libbar.dll.a, and then foo.exe with -lbar.dll, so it uses that DLL, and > these are compiled entirely within the Cygwin environment (thus using > Cygwin's gcc and related tools). I then launch it from the command line > of a bash shell running in a Cygwin xterm. What I think you're saying is > that there there is something that foo.exe needs to do before it can > understand Cygwin symlinks, and that something is done sometime *after* > it needs to actually load bar.dll, which prevents it from finding > bar.dll if the DLL's name is actually bar-froob.dll and bar.dll is a > symlink to it. Is that the idea? Ah, not quite. DLLs are loaded by the O/S, not Cygwin. So if the O/S can't find the DLL referenced, it won't load it. Since the O/S doesn't know that Cygwin's bar.dll.lnk is a symbolic link to bar.dll, it's not going to find bar.dll. > If so, then it's just a matter of putting the real DLLs in the paths > Windoze searches for them. Symlinks would be nice, but if you can't, > you can't. Right. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 216 Dalton Rd. (508) 893-9889 - FAX Holliston, MA 01746 _____________________________________________________________________ A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting annoying in email? -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/