[uClibc] Re: dyn lib dependency question

Peter S. Mazinger ps.m at gmx.net
Tue Nov 16 14:16:17 UTC 2004


> > If python's readline.so needs the symbol 'tgetent' but lacks a
> > DT_NEEDED entry for a library providing 'tgetent' such as
> > ncurses, then yes, regardless of usage, python's readline.so is
> > broken.  Using dlopen to try and serendipitously score with some
> > random symbol not in the library's needed chain just isn't
> > sufficient.  If a library needs a symbol such as 'tgetent', then
> > it also needs to use DT_NEEDED to let us know where it expects
> > that symbol to be found.  If we give it everything it explicitly
> > asks for, it is no longer our problem if it doesn't work.
> 
> strings libreadline.so.4 has reference to tgetent (coming from ncurses), 
> so Jocke is right saying that the readline-4.x package has to be rebuilt 
> correctly.
> 
> I will try to rebuild readline w added -lncurses and see if then python 
> can be built (probably yes)

I have rebuilt readline-4.3 enabling the use of ncurses (adding 
SHLIB_LIBS=-lncurses to support/shobj-conf)

after this python-2.3.4 built the readline.so module.

the test succeeded on mips (gentoo) against current uclibc-cvs 
+ mips_lazy1.patch (w/o if 0/endif on 'can't resolve symbol') applied (not 
in cvs) with enabled -z now/-z relro (not in cvs)

Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2




More information about the uClibc mailing list