X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-3.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Message-ID: <4BAE2D95.9080403@cwilson.fastmail.fm> Date: Sat, 27 Mar 2010 12:08:53 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: Cygwin Mailing List Subject: Re: "svn --version" halts in 1.7.2-2 References: <20100326093204 DOT GS7718 AT calimero DOT vinschen DOT de> <4BACF903 DOT 70304 AT acm DOT org> <20100326210701 DOT GY7718 AT calimero DOT vinschen DOT de> <4BAD401C DOT 8000504 AT acm DOT org> <4BAD5803 DOT 3020509 AT cs DOT umass DOT edu> <4BAD69A4 DOT 6090605 AT acm DOT org> <4BAD6A59 DOT 5060604 AT cs DOT umass DOT edu> <4BAD6D4F DOT 1070109 AT acm DOT org> <4BAD759B DOT 2000204 AT cs DOT umass DOT edu> <4BAD7978 DOT 7060008 AT acm DOT org> <4BAD8540 DOT 4010909 AT cs DOT umass DOT edu> <4BAE1A65 DOT 9080908 AT cwilson DOT fastmail DOT fm> <4BAE22EC DOT 6080406 AT acm DOT org> In-Reply-To: <4BAE22EC.6080406@acm.org> 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 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? > I might take a look at libsasl2 and see if recompiling it helps. > Unfortunately, it's orphaned and I know absolutely nothing about SASL, > so I'm loathe to adopt it. Ack. > Worse comes to worse, I'll just disable SASL support in SVN. Yep, that's often the best policy when it comes to abandonware, unless you're willing to adopt it. > 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. -- Chuck -- 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