On 3/27/2010 9:08 AM, Charles Wilson wrote: > On 3/27/2010 11:23 AM, David Rothenberger wrote: >> On 3/27/2010 7:47 AM, Charles Wilson wrote: >>> Obviously, something is going wrong there. What happens when the .la >>> file isn't found, is that libltdl falls back on cygwin's dlopen(), which >>> simply looks in the normal search path for the DLL -- and that >>> apparently works. >> >> I'm pretty sure it's libsasl2 that's the culprit, but since its DLLs are >> in /usr/lib/sasl2, which is not in the PATH, I don't see how that could >> work. > > Ah, but cygwin's dlopen() is sensitive to LD_LIBRARY_PATH -- and you can > also give dlopen() the full path to where you expect the DLL to be. > Obviously libsasl2 "knows" about /usr/lib/sasl2/, because that's where > it's currently looking for the .la files. So, I wouldn't be surprised > if, in the absense of .la files messing up the > libsasl2->libltdl->.la->.dll lookup, the libsasl2->libltdl->.dll works fine. > > Hey...I have an idea. NORMALLY, the .la file says: > dlname='../bin/cygfoo-N.dll' > This tells libltdl how to find the DLL, which is not normally installed > in the /usr/lib heirarchy on cygwin. However, in this case, the sasl2 > dlls ARE in /usr/lib/sasl2. > > So, the .la files OUGHT to say > dlname="cyg*.dll" > with no ../bin component. Plus, ../bin wouldn't be correct in this case > either, as /usr/lib/sasl2/../bin == /usr/lib/bin, which isn't right. > (FWIW, this bug was fixed only very recently in libtool). > > So, I wonder if editing the .la files to specify the correct relative > path to the DLLs would fix it?
It seems all the dlnames are set to "cyg*.dll" already. >> It's interesting, though, that this behavior just surfaced. This didn't >> occur with Cygwin 1.7.1 as far as I remember, and I'm sure I had >> libsasl2-devel installed at that point. There must have been some change >> in cygwin1.dll that has caused this. > > Hmm. I remember having transient problems with svn and many of the > 1.7.0 snapshots, but they were intermittent and I had bigger fish to > fry. I don't recall any issues with 1.7.1, nor am I having any trouble > with 1.7.2. However, I would not be surprised if > > (a) the "problem" is some intermittent interaction between > cygwin-1.7.x's completely redesigned file name handling and an old, > statically-linked, compiled during the 1.5.x era, libltdl > > (b) the reason you didn't see it in 1.7.1 was just that -- it's > intermittent, and you didn't HAPPEN to see it during that 3-month window. > > (c) if libsasl2 had been linked against the DLL version of cygltdl, then > perhaps none of this would have happened -- since I try to keep the > officially distributed libtool more-or-less up to date, and rigorously > tested. Do you have libsasl2-devel installed? Are you saying that it's working fine for you with /usr/lib/sasl2/*.la files? -- David Rothenberger ---- daver...@acm.org Household hint: If you are out of cream for your coffee, mayonnaise makes a dandy substitute. -- 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