[Techtalk] debian and shared libraries

Wim De Smet kromagg at gmail.com
Sun Jul 22 16:23:28 UTC 2007


On 7/20/07, Maria McKinley <maria at shadlen.org> wrote:
> Wim De Smet wrote:
> > On 7/20/07, Maria McKinley <maria at shadlen.org> wrote:
> >
> >>Hi there,
> >>
> >>I installed a deb package, which fails with the following error message:
> >>
> >>/usr/sbin/afacli: error while loading shared libraries: libncurses.so.5:
> >>cannot open shared object file: No such file or directory
> >>
> >>However, libncurses.so.5 does exist
> >>
> >>maude:~# ls /lib/libnc*
> >>/lib/libncurses.so.5    /lib/libncursesw.so.5
> >>/lib/libncurses.so.5.6  /lib/libncursesw.so.5.6
> >>
> >>I have no idea how to go about telling the program where to look for the
> >>library. Not sure to even find out where the program is currently
> >>looking. Someone told me they thought it was some weirdness with the way
> >>debian handles shared libraries and paths. Anyone know anything about this?
> >
> >
> > No debian should do that all just fine. Try running ldd on the binary
> > (ldd /usr/sbin/afacli) to see to how it resolves. That might give us
> > some more information. Sometimes permissions on directories get
> > screwed up and ld can't do its work (but usually not on /lib). Make
> > sure they're all in order. Can't really think of anything else right
> > now, but the output of ldd might certainly be interesting.
> >
> > greets,
> > Wim
>
> Here is the output:
>
> maude:/etc/ldap# ldd /usr/sbin/afacli
>          linux-gate.so.1 =>  (0xffffe000)
>          libncurses.so.5 => not found
>          libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f7f000)
>          libstdc++-libc6.2-2.so.3 => not found
>          libm.so.6 => /lib32/libm.so.6 (0xf7f58000)
>          libc.so.6 => /lib32/libc.so.6 (0xf7e17000)
>          /lib/ld-linux.so.2 (0xf7f9d000)
>
> Not sure what the libstdc++-libc6.2-2.so.3 is, but it really does appear
> to be missing, The closest things to it were /usr/lib/libstdc++.so.6 and
> /usr/lib/libstdc++.so.6.0.9. As I mentioned before, libncurses.so.5 is
> in /lib. Does the last line mean that it is finding some stuff in /lib?

libstdc++ is the standard C++ program library, which all C++ programs
depend on. Is this package perchance autogenerated from an RPM or
something? It should really not have been installable if one of its
dependencies is so clearly missing. I'd say you have a bad package
here...

greets,
Wim


More information about the Techtalk mailing list