Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I built (from source) a newer version of libavcodec.so, libavformat.so, etc. than provided by the Ubuntu repositories. (My newer versions are installed in /usr/local/lib). Using ldd /usr/bin/vlc to list the shared library dependencies of VLC returns a small list:

linux-vdso.so.1 =>  (0x00007fff219fe000)
libvlc.so.5 => /usr/lib/libvlc.so.5 (0x00007fb0622ca000)
libvlccore.so.5 => /usr/lib/libvlccore.so.5 (0x00007fb061fe8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb061dca000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb061bc6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb0617fe000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fb0615b8000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb0613b0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb0610ac000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb062512000)

Notably, libavcodec.so is absent, meaning that VLC finds the library at runtime (rather than at compile-time). Is there a way to tell VLC to point to my newer version of libavcodec.so, libavformat.so and other related libraries (all located in /usr/local/lib)?

This is because I am trying to use FFmpeg and Ubuntu provides Libav. Libav doesn't have an MSS2 decoder but FFmpeg does. As long as VLC links to Libav, I can't play my video files that use MSS2 with VLC.

share|improve this question

Your Answer


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

Browse other questions tagged or ask your own question.