Hi Bruce, running LDFLAGS="-Wl,-z,defs" ./configure could do it
Peter -------- Original-Nachricht -------- > Datum: Wed, 23 Mar 2011 22:41:44 +0000 > Von: bruce bushby <[email protected]> > An: Joakim Tjernlund <[email protected]> > CC: [email protected], "[email protected]" <[email protected]> > Betreff: Re: Dynamic linker > Hi Joakim > > >>>Yes, but probably doesn't link with it? > >>>do a readelf -d libreadline.so.6, see ncurses it listed in NEEDED: > >>>0x00000001 (NEEDED) Shared library: > [libncurses.so.5] > >>>0x00000001 (NEEDED) Shared library: [libc.so.6] > > Thanks for the example....dare I say you've hit the proverbial nail? > > Only difference when compared to your example is....my "libreadline" > doesn't > even know about "libncurses"? > > libreadline: > [root@dlxarm01 buildroot]# readelf -d > ./output/target/usr/lib/libreadline.so.6.1 | grep "]" > 0x00000001 (NEEDED) Shared library: [libc.so.0] > 0x0000000e (SONAME) Library soname: > [libreadline.so.6] > 0x0000000f (RPATH) Library rpath: [/usr/lib] > [root@dlxarm01 buildroot]# > > Python's lib-dynload/libreadline.so: > [root@dlxarm01 buildroot]# readelf -d > ./output/target/usr/lib/python2.7/lib-dynload/readline.so | grep "]" > 0x00000001 (NEEDED) Shared library: > [libreadline.so.6] > 0x00000001 (NEEDED) Shared library: [libncurses.so.5] > 0x00000001 (NEEDED) Shared library: [libc.so.0] > [root@dlxarm01 buildroot]# > > libncurses: > [root@dlxarm01 buildroot]# readelf -d > ./output/target/usr/lib/libncurses.so > | grep "]" > 0x00000001 (NEEDED) Shared library: [libc.so.0] > 0x0000000e (SONAME) Library soname: [libncurses.so.5] > [root@dlxarm01 buildroot]# > > > I checked my linux laptop (Fedora 13): > [bruce@laptop ~]$ readelf -d /lib64/libreadline.so.6.1 | grep "]" > 0x0000000000000001 (NEEDED) Shared library: [libtinfo.so.5] > <----- I think this is correct > 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] > 0x000000000000000e (SONAME) Library soname: > [libreadline.so.6] > [bruce@laptop ~]$ > > > So ....if I understand things correctly ......"readelf -d > ./output/target/usr/lib/libncurses.so" shows that > "readline" is not linking properly when compiled....even though "ncurses" > was defined as a dependency or if I manually build/install ncurses first. > > @Peter: Thanks for the linking options, would I be able to implement them > using a patch? What file would I patch....the "readline" Makefile? > > Thanks again to everybody for the help! > > Bruce > > > > > > > > > > On Wed, Mar 23, 2011 at 8:07 PM, Joakim Tjernlund < > [email protected]> wrote: > > > bruce bushby <[email protected]> wrote on 2011/03/23 20:19:06: > > > > > > Over the past two weeks I've tried many variations, unfortunately > without > > any success. > > > > > > I've tried building on these platforms: > > > Fedora 12 > > > Fedora 14 > > > Ubuntu Natty 11.04 > > > > > > Buildoot: > > > buildroot-dailysnapshot > > > buildroot-2011-02 > > > > > > uclibc: > > > 0.9.31 > > > 0.9.32-rc2 > > > > > > Building "readline" without "ncurses" and with the dependency on > > "ncurses" removed: > > > [root@dlxarm01 buildroot]# grep -i tgetent > > make-readline-without-ncurses.log > > > checking for tgetent... no > > > checking for tgetent in -ltermcap... no > > > checking for tgetent in -ltinfo... no > > > checking for tgetent in -lcurses... no > > > checking for tgetent in -lncurses... no > > > [root@dlxarm01 buildroot]# > > > > > > BUT....readline still compiles.....this could be due to the fact that > I > > am unable to run "autoreconf" when building "readline"? > > > > > > I then run "make ncurses" and then re-run "make readline" to see if > it's > > uses "ncurses" for "tgetent": > > > [root@dlxarm01 buildroot]# grep -i tgetent > > make-readline-with-ncurses.log > > > checking for tgetent... no > > > checking for tgetent in -ltermcap... no > > > checking for tgetent in -ltinfo... no > > > checking for tgetent in -lcurses... yes > > > [root@dlxarm01 buildroot]# > > > > > > So "readline" does find "ncurses". > > > > Yes, but probably doesn't link with it? > > do a readelf -d libreadline.so.6, see ncurses it listed in NEEDED: > > 0x00000001 (NEEDED) Shared library: > [libncurses.so.5] > > 0x00000001 (NEEDED) Shared library: [libc.so.6] > > > > > > > > My Fedora 12 X64 desktop uses "termcap" rather then "ncurses": > > > [bruce@core readline-6.2]$ ./configure | grep -i tgetent > > > checking for tgetent... no > > > checking for tgetent in -ltermcap... yes > > > [bruce@core readline-6.2]$ > > > > > > I will try and add "readelf" to my build and forward the results of > > checking "libreadline" and "libncurses" > > > > > > I really appreciate the help! > > > > > > I've been stuck for so long now I thought of offering a $200.00 reward > to > > anybody who can fix it. > > > > > > Bruce > > > > > > On Wed, Mar 23, 2011 at 6:15 PM, Joakim Tjernlund < > > [email protected]> wrote: > > > [email protected] wrote on 2011/03/23 18:57:04: > > > > > > > > On Wed, Mar 23, 2011 at 1:19 PM, Joakim Tjernlund wrote: > > > > > From: Salvatore CRO <[email protected]> > > > > >> We have been looking at the same problem in the last days... > > > > >> Libreadline needs either libncurses or libtermcap to provide > these > > symbols. > > > > >> Even though one of the two is supposed to be linked to > libreadline > > (depending on > > > > >> Certain logic in its build configure), it seems this is not > actual > > the case. > > > > >> We'll keep investigating into libreadline package configure. > > > > > > > > > > Unless someone changed this, uClibc needs to have either > > > > > libncurses or libtermcap linked to readline(needs to be in > > > > > readline's NEEDED list) or uClibc will fail. glibc doesn't require > > this, but I believe the specs says that all deps should be listed. > > > > > > > > i'm pretty sure that's the intended behavior we still have. i > wonder > > > > if we should FAQ this ... > > > > -mike > > > > > Yes, since this is not the first time this problem has happened. > > > > > > Jocke > > > > > _______________________________________________ > uClibc mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/uclibc -- GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit gratis Handy-Flat! http://portal.gmx.net/de/go/dsl _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
