Problem: I recently 'updated' to Ubuntu 14.10 from Ubuntu 14.04. Since then, whenever I try to issue any command to FFMPEG, I get the following:

$ ffmpeg -i
ffmpeg: error while loading shared libraries: libass.so.4: cannot open shared object file: No such file or directory

I've searched the internet extensively, tried recompiling FFMPEG from source using the guide here: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu and have tried reinstalling libavutil-dev all with no effect.

Can anybody suggest what might be causing FFMPEG to suddenly lose its ability to communicate with libass after my Ubuntu 14.10 update?

Thanks! :)


OK, now solved.

For future reference, whatever Ubuntu have changed in their update to 14.10, they've obviously changed the location or naming or something of their libass, because when I tried building it from source instead of installing from repository, it worked fine...

For reference, when building ffmpeg sources, instead of:

sudo apt-get install libx264-dev


cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
PATH="$HOME/bin:$PATH" make
make install
make distclean

And it works fine... :)

| improve this answer | |

Try installing the missing package:

sudo apt-get install libass4
| improve this answer | |

This may not be a proper answer since it doesn't address the root cause, whatever it was. But I simply installed libass.so.4.

| improve this answer | |

The question is 5 years old, but thought this could help someone with the same problem.

Another solution is to change a minor detail in the script provided by the guide you cited (for compiling FFmpeg from sources). The section under "FFmpeg" (towards the end) has a

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \

(5th line from top). That overwrites your PKG_CONFIG_PATH so that it doesn't find the .pc file. So #find / -name library.pc and note the path to it. #export PKG_CONFIG_PATH=path/to/your/pcfile. Then change that line of the script to

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$HOME/ffmpeg_build/lib/pkgconfig" ./configure \

(You could also write path/to/your/pcfile directly there instead of exporting and inserting $PKG_CONFIG_PATH). The linker should now find it and compile FFmpeg to the end.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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