Difference between revisions of "Ldd"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 20: Line 20:
 
         libkutils.so.4 => '''./libkutils.so.4''' (0x00007f595da82000)
 
         libkutils.so.4 => '''./libkutils.so.4''' (0x00007f595da82000)
 
         libkparts.so.4 => ./libkparts.so.4 (0x00007f595d831000)
 
         libkparts.so.4 => ./libkparts.so.4 (0x00007f595d831000)
 
  
 
= Usage =
 
= Usage =
Line 27: Line 26:
  
 
= See also =
 
= See also =
[http://man-wiki.net/index.php/1:ldd ldd's man page]
+
* [[strace]]
 +
* [[nm]]
 +
* [http://man-wiki.net/index.php/1:ldd ldd's man page]

Revision as of 09:54, 24 May 2009

ldd shows which libraries are used by an executable file.

Example
itchy:~ # ldd /usr/local/bin/ktimetracker 
        linux-vdso.so.1 =>  (0x00007fffdb7ff000)
        libkutils.so.4 => /usr/local/lib64/libkutils.so.4 (0x00007feed334b000)
        libkparts.so.4 => /usr/local/lib64/libkparts.so.4 (0x00007feed30fa000)
        libkcal.so.4 => /usr/local/lib64/libkcal.so.4 (0x00007feed2dd7000)    
        [...]

In this case, libkutils is loaded from /usr/local/lib64/libkutils.so.4 to memory address 0x00007feed334b000.

ldd uses the LD_LIBRARY_PATH variable to find out where to search for libraries:

tweedleburg:~/jail # ldd ktimetracker 
        linux-vdso.so.1 =>  (0x00007fffa7dff000)
        libkutils.so.4 => /usr/lib64/libkutils.so.4 (0x00007fa69f8e1000)
        libkparts.so.4 => /usr/lib64/libkparts.so.4 (0x00007fa69f69f000)
tweedleburg:~/jail # export LD_LIBRARY_PATH=.
tweedleburg:~/jail # ldd ktimetracker 
        linux-vdso.so.1 =>  (0x00007fff65fff000)
        libkutils.so.4 => ./libkutils.so.4 (0x00007f595da82000)
        libkparts.so.4 => ./libkparts.so.4 (0x00007f595d831000)

Usage

To find out all files that an executable file depends on:

ldd /usr/local/bin/ktimetracker | sed "s/^.* => //" | sed "s/ (0x.*//"

See also