[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ltdl sillyness

From: Ralf Wildenhues
Subject: Re: ltdl sillyness
Date: Wed, 12 Oct 2005 18:13:57 +0200
User-agent: Mutt/1.5.11

Hi Peter,

* Peter O'Gorman wrote on Wed, Oct 12, 2005 at 03:58:29PM CEST:
> Hi,
> I just spent the last several hours trying to find out why a package was 
> not building for me on Tru64 4.0. Turns out to have been a ltdl bug or two. 
> I was hitting a libltdl assert (assertion dirname) and when I figured out 
> why, I patched ltdl to check that dir was set before calling 
> tryall_dlopen_module.

Does a simple test expose this on Tru64?  Try something like adding a
call to mdemo-exec that tries
  ( cd mdemo && ./mdemo )
(i.e., without path) and if this exposes it, please commit along with
it.  (It doesn't expose it on GNU/Linux.)

> This done, I got a much more useful error message and 
> discovered that libltdl was not loading any files in dependency_libs that 
> were specified -Lpath -lfoo.

Gaah!  This bug has been in ltdl ever since 2001-02-22, since the MT API
was introduced.  Good catch!

Can we have a cheap test for this as well?  I'd be fine with putting the
corresponding tests in CVS HEAD only for now, and if you have time
constraints, I can try to write them later.

> Okay to apply to branch-1-5 and forward port?

Yes.  The `dir' test is certainly ok, the other part looks as if it
does not cause regressions (and passes on GNU/Linux), but the semantics
of freeing the non-local object rather than the local one truly suck.

Watch out, the load_deplibs part in HEAD is changed.


> Index: ChangeLog
> 2005-10-12  Peter O'Gorman  <address@hidden>
>       * libltdl/ltdl.c (find_module): Check that dir is set.
>       (load_deplibs): Don't free the user search paths too early.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]