[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Provide a means to activate dynamically the debug traces
From: |
Akim Demaille |
Subject: |
Re: Provide a means to activate dynamically the debug traces |
Date: |
Fri, 9 Jan 2009 20:56:20 +0100 |
Le 9 janv. 09 à 19:40, Ralf Wildenhues a écrit :
Hi Akim,
Hi Ralf,
* Akim Demaille wrote on Fri, Jan 09, 2009 at 04:37:32PM CET:
when I dlopen a module.la which has a dependency.la library, I
expected ltdl to automatically find dependency.la which is not
installed. Yet it does not seem to use the module.la's deplibs to
dlopen them, it delegates this to the native dlopen. As a result,
since my library is not installed, dlopen fails (see
dlopen-failure.txt attachement, notice the deplibs line).
Of course I can adjust LD_LIBRARY_PATH, but that's not what I
expected.
You can instead use
libtool --mode=execute -dlopen module.la $program $args
Are you saying that the behavior is expected? Why? Why not actually
using the *.la in ltdl to be able to load uninstalled dependencies?
Thank you for the patch. I haven't looked at it in detail, but AFAICS
it (1) introduces global data symbols, (2) uses them as user-API, and
(3) does not annotate them suitably for w32, and (4) doesn't bump the
library version numbers accordingly. None of these are ok,
unfortunately. Oh, I forgot missing testsuite addition and
documentation for new functionality. ;-)
The last two points were expected, but first I wanted to have some
feedback. Which you did pretty well :)
I understand that you probably wrote this as a quick hack to get
something working. However, IMVHO we should not give in to let such
quick hacks into the code base without proper cleanup.
I agree.
FYI, never ever use data (as opposed to function) symbols in a shared
library API.
OK, will fix. Thanks!
Even now that Cygwin is quite usable with them, it will
certainly come back to haunt you down the road when you have a better
internal representation but are stuck with exposing it. Just don't
ever
do it. To give a bad precendece example, libltdl did it with
lt_preloaded_symbols, and users are suffering because we failed to
keep
it compatible, and libltdl is suffering because it can't use a faster
search inside them.
So what do you recommend to store persistent information? A function
that returns some static variable (sort of a singleton)? Or an
additional argument everywhere (gee...). Maybe I can do it using
advices to hand over the verbosity flags, but that does sound like a
nuisance for the API.
BTW, your editor seems to both reformat existing code, and use
different
indenting strategy for new code. Hmm.
Yeah, I know. But fixing the indentation issues progressively does
not seem bad to me. I certainly don't want these useless differences
to creep into my new code.
- Provide a means to activate dynamically the debug traces, Akim Demaille, 2009/01/09
- Re: Provide a means to activate dynamically the debug traces, Ralf Wildenhues, 2009/01/09
- Re: Provide a means to activate dynamically the debug traces,
Akim Demaille <=
- Re: spaces (was: Provide a means to activate dynamically the debug traces), Akim Demaille, 2009/01/19
- Re: spaces (was: Provide a means to activate dynamically the debug traces), Bob Friesenhahn, 2009/01/19
- Re: spaces, Charles Wilson, 2009/01/20
- Re: spaces, Ralf Wildenhues, 2009/01/21
- Re: spaces, Charles Wilson, 2009/01/21
- Re: spaces, Peter Rosin, 2009/01/22
- Re: spaces, Tim Rice, 2009/01/22