How to list library dependencies of a non-native binary?

后端 未结 9 872
孤城傲影
孤城傲影 2020-12-12 16:03

When developing for native platform, I can use ldd to list all the shared libraries (.so files) a binary executable I build will try to load upon start-up. But when cross-co

9条回答
  •  死守一世寂寞
    2020-12-12 16:40

    some depends idiot just uploaded this. i'm sure it shows things LDD doesn't but it's not well tested yet. a small bit of output is shown below.

    http://sourceforge.net/p/dep-trace/

    http://sourceforge.net/projects/dep-trace/files/libdeps

    should show total dependancy table of what ldconfig(1) will load (or has already loaded) and show which libs are NOT_FOUND (ie, no version or file) and then also what is effected.

    try it, enjoy. it's very new so don't say i didn't tell you. it did just find some things below i didn't know about my lib system - i'm just about to go fix that.

    # libdeps objdump -h
    Experimental - see help
    libdeps [objdump | ldd] [-l | file]
           -l  use find *.so is used on ldconfig dirs
         file  one file.so per line
    snip...
    
    # libdeps objdump -d
    
    LIBTABLE
    
    ld-linux.so.2(file)
    
    ld-linux.so.2(GLIBC_2.0)(file)
    
    ld-linux.so.2(GLIBC_2.1)(file)
    
    ld-linux.so.2(GLIBC_2.0)(file)
    
    ld-linux.so.2(GLIBC_2.3)(file)
    
    ld-linux.so.2(GLIBC_2.1)(file)
    
    ld-linux.so.2(GLIBC_PRIVATE)(file)
    
    ld-linux.so.2(GLIBC_2.3)(file)
    
    libBrokenLocale.so.1(file)
    
    snip ...
    
    libc.so.6 libc.so.6(file) ld-linux.so.2 ld-linux.so.2(GLIBC_2.0) ld-linux.so.2(GLIBC_2.1) ld-linux.so.2(GLIBC_PRIVATE)
    
    snip ...
    
    libanl.so.1 libanl.so.1(file) ld-linux.so.2 ld-linux.so.2(GLIBC_2.0) ld-linux.so.2(GLIBC_2.1) ld-linux.so.2(GLIBC_PRIVATE) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.0) libc.so.6 libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_PRIVATE) libc.so.6(GLIBC_2.3.2) libc.so.6(GLIBC_2.1.2) libpthread.so.0(GLIBC_2.1) libpthread.so.0
    
    
    libnss_db.so.2 libnss_db.so.2(file) ld-linux.so.2 ld-linux.so.2(GLIBC_2.0) ld-linux.so.2(GLIBC_2.1) ld-linux.so.2(GLIBC_PRIVATE) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.0) libc.so.6 libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_PRIVATE) libnss_files.so.2 libnss_files.so.2(GLIBC_PRIVATE) libdb3.so.3(NOT_FOUND) libdb3.so.3(DB3_2)(NOT_FOUND)
    
    snip...
    
    NOT_FOUND
    libctutils.so.0
    
    libdb3.so.3
    
    libdb3.so.3(DB3_2)
    
    EFFECTED
    libctutils.so.0 libconsole.so.0
    
    libdb3.so.3 libnss_db.so.2
    
    libdb3.so.3(DB3_2) libnss_db.so.2
    
    libconsole.so.0
    
    libnss_db.so.2
    
    12/04/14  21:56  -0500     Thursday,  December  04,  2014,  09:56:35 PM  EST
    

提交回复
热议问题