Try:
ldconfig -p | grep lib32
If you see no output, this is because the linker cache (read the first paragraph of man ldconfig
, and about the -p
switch) does not reference /usr/lib32. I checked a ubuntu 12.04 system and that is not in there by default. You can add it to: /etc/ld.so.conf.d/libc.conf
which may contain just /usr/local/lib
. Run just ldconfig
, then the -p command from above. You should see the stuff in /usr/lib32; now try your ldd on the 32-bit gstreamer lib again.
No, it can't fully automatically infer dependencies.
If it had been packaged, apt-get build-dep oprofile
would have helped. If you can find a package elsewhere, you can look up the dependencies there. For example, if the package exists in the next release of your distribution. e.g. here:
http://archive.ubuntu.com/ubuntu/pool/universe/o/oprofile/oprofile_1.0.0-0ubuntu9.dsc
(and if you plan on compiling things yourself, always consider upgrading to the latest version first!)
Other than that it requires a little bit of experience to figure out. configure
scripts unfortunately won't tell you the package names, but usually it's quite easy to find. Also use the search functions on the distribution web pages - they can tell you which packages contain a certain file name.
Instead of iterating through configure
attempts, it may be more convenient to look at the configure.ac
file, from which the script was generated (and which usually is much shorter). You may be able to discover some optional functionality only offered if certain libraries are installed and some flag is given.
LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB"
BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $Z_LIB"
POPT_LIBS="-lpopt"
are typical library dependencies.
AC_ARG_ENABLE(gui,[ --enable-gui compile with gui component (qt3|qt4|yes|no),
if not given or set to yes, gui defaults to qt3],, enable_gui=qt3)
indicates that you may also want to consider QT dependencies if you want a GUI.
Best Answer
Maybe
It displays information about ELF files. If the object you are studying still contains the comment section, you may try to extract it by
For example
objdump
could provide the same information.If the comment section is stripped, you may try to read the GCC runtime symbol version info from the
readelf -a
command if it is a c++ compiled library. Note, that is the version of symbols supplied to the compiler and not necessarily the version of the compiler. I don't know how useful that would be to track down the Ubuntu version.