[Techtalk] debian and shared libraries

Maria McKinley maria at shadlen.org
Wed Jul 25 20:37:54 UTC 2007


Wim De Smet wrote:
> 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

Yup, I was trying to convert a rpm for i386 to deb and put it on and 
amd64. Obviously didn't work so well... Thanks for the help. I found the 
rpm for amd64, and I think it will be ok.

thanks,
maria


More information about the Techtalk mailing list