3

I wrote and compiled a C++ program using Qt Creator in Ubuntu 13.10 (32 bit). I tried to run the compiled program in a newly installed Ubuntu 13.10 (64 bit). But it is not run.

I think the problem is with dependencies. How can I find (=know the name and version of) necessary dependencies?

1 Answer 1

6

This is a bit crude, but I think the ldd command is intended for your situation.

ldd is used to list the dynamicly loaded library dependencies for an executable. If ldd is unable to find a needed library, it indicates the library "not found."

As an example, if I run ldd with an old gqrx binary I found, I get the following output:

linux-gate.so.1 (0xb7fff000)
libgnuradio-audio.so.3.6.1 => not found
libgnuradio-osmosdr.so.0 => not found
libgnuradio-core.so.3.6.1 => not found
libgruel.so.3.6.1 => not found
libfftw3f.so.3 => /usr/lib/i386-linux-gnu/libfftw3f.so.3 (0x41b5d000)
libusb-1.0.so.0 => /lib/i386-linux-gnu/libusb-1.0.so.0 (0x422ee000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0x42e47000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xb7cde000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0x411dc000)

As you can see, I've since upgraded the libgnuradio libraries and removed the older versions. ldd lists those missing libraries as "not found."

Good Luck!

1
  • The second part of this answer is how to find the necessary package dependencies. A good way of doing this is to use apt-file search. E.g. apt-file search what_filename_the_linker_gives_on_the_left. I think there must be a duplicate of this question somewhere. Commented May 8, 2014 at 16:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .