2

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! :)

4 Answers 4

1

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

use:

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... :)

1

Try installing the missing package:

sudo apt-get install libass4
0

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.

0

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.

You must log in to answer this question.

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