ldd command in Linux

Viewed 127
samuel@PC:~/tmp111/MediaSDK/build/__bin/debug$ ldd simple_3_encode
        linux-vdso.so.1 (0x00007ffe77af2000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2ff068f000)
        libva.so.2 => /usr/lib/x86_64-linux-gnu/libva.so.2 (0x00007f2ff0468000)
        libva-drm.so.2 => /usr/lib/x86_64-linux-gnu/libva-drm.so.2 (0x00007f2ff0265000)
        libmfx.so.1 => /usr/lib/libmfx.so.1 (0x00007f2ff0052000)

I knew the meaning of the number behind the .so extension, so that when link to -lXXX the linker will find the xxx.so which link to xxx.so.N.

But I don't understand is that why it shows xxxx.so.1 or xxxx.so.2 instead of xxxx.so. That mean the excutable file will try to find xxxx.so.1 or xxxx.so.2 instead of trying to find xxx.so?

If so, another PC don't have foo.so.2 but foo.so.1 That PC can not run the program?

0 Answers
Related