X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org X-Daemon-Port: 587 Message-ID: <4977C456.8010103@sylvan-glade.com> Date: Wed, 21 Jan 2009 16:56:54 -0800 From: Ray Simard User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8) Gecko/20051201 Thunderbird/1.5 Mnenhy/0.6.0.104 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> In-Reply-To: <20090112161848.GB5218@ednor.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1 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 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? 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. Thanks, Ray -- 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/