[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#345904: ldd $(which bash) shows fewer libs than bash -c 'lsof -p $$'



Package: libc6
Version: 2.3.5

Compare these two reports:

% ldd $(which bash)
        linux-gate.so.1 =>  (0xffffe000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f85000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7f81000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7e49000)
        /lib/ld-linux.so.2 (0xb7fd6000)

% bash -c 'lsof -p $$'
COMMAND   PID    USER   FD   TYPE DEVICE    SIZE      NODE NAME
bash    11555 knoppix  cwd    DIR    7,1     149 206616792 /KNOPPIX/var/lib/dpkg
bash    11555 knoppix  rtd    DIR    1,0    1024         2 /
bash    11555 knoppix  txt    REG    7,1  649556  12280922 /KNOPPIX/bin/bash
bash    11555 knoppix  mem    REG    0,0                 0 [heap]
(stat: No such file or directory)
bash    11555 knoppix  mem    REG    7,1   42472  12281048
/KNOPPIX/lib/tls/libnss_files-2.3.5.so
bash    11555 knoppix  mem    REG    7,1   38424  12281054
/KNOPPIX/lib/tls/libnss_nis-2.3.5.so
bash    11555 knoppix  mem    REG    7,1   80888  12281034
/KNOPPIX/lib/tls/libnsl-2.3.5.so
bash    11555 knoppix  mem    REG    7,1   30428  12281042
/KNOPPIX/lib/tls/libnss_compat-2.3.5.so
bash    11555 knoppix  mem    REG    7,1 1266800  12280993
/KNOPPIX/lib/tls/libc-2.3.5.so
bash    11555 knoppix  mem    REG    7,1    9592  12281019
/KNOPPIX/lib/tls/libdl-2.3.5.so
bash    11555 knoppix  mem    REG    7,1  268396  12280976
/KNOPPIX/lib/libncurses.so.5.5
bash    11555 knoppix  mem    REG    7,1   88168  12280962
/KNOPPIX/lib/ld-2.3.5.so
bash    11555 knoppix    0u   CHR  136,1                 3 /dev/pts/1
bash    11555 knoppix    1u   CHR  136,1                 3 /dev/pts/1
bash    11555 knoppix    2u   CHR  136,1                 3 /dev/pts/1
bash    11555 knoppix  255u   CHR  136,1                 3 /dev/pts/1

Note that lsof shows bash loading a number of libraries not reported by ldd.

I wanted to put bash and some other executables, plus their libraries,
in a rescue directory.  I was hoping ldd would tell me which libraries
to include.
This did not work for bash (but it did for the others).

Is this incomplete behavior expected?  To compensate for it,  I had to include
a lot of stuff to read the output of lsof and find the name of the symlink
pointing to each listed file (since the executables use the symlink names,
not the physical file names). Yuck.

Thanks,
--
Dana L. How  danahow@gmail.com  +1 650 804 5991 cell



Reply to: