Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Just making sure I got this right - I call

ldd /path/to/executable

and it returns "not a dynamic executable". This means that it doesn't depend on other libraries, correct? If so, does it mean that it can be transferred to another Ubuntu box without worrying about dependencies?

share|improve this question
up vote 2 down vote accepted

Correct, but there's something to take into account.

From the ldd manpage:

ldd does not work on a.out shared libraries.

ldd does not work with some extremely old a.out programs which were built before ldd support was added to the compiler releases. If you use ldd on one of these programs, the program will attempt to run with argc = 0 and the results will be unpredictable.

share|improve this answer
Another reason can be that the binary was built for 32-bit system but you're checking it on a 64-bit system. – Ferdinand Prantl May 27 '13 at 6:37
@FerdinandPrantl If it's built for 32 bit, ldd still prints the 32bit dependencies. – Calmarius Aug 14 '13 at 10:33
@Calmarius that is not true, when you don't have basic 32-bit libgcc1. Just verified on a fresh Ubuntu Server installation: You need to install libgcc1:i386 to make ldd happy for 32-bit binaries. – falstaff May 15 '15 at 16:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.