[FFmpeg-devel] haunted by "undefined reference to `vaUnmapBuffer'"

Moritz Barsnick barsnick at gmx.net
Wed Nov 1 02:16:11 EET 2017

Hi Sampsa

On Tue, Oct 31, 2017 at 21:38:42 +0200, Sampsa Riikonen wrote:
> Dear List,
> I am compiling a stripped-down, static versions of the libraries, i.e. :
> libavcodec.a libavformat.a libavutil.a libswscale.a libavfilter.a 
> libswresample.a
> and I'm "baking them in" into a custom shared-library.

this list, ffmpeg-devel, is for discussion of development *of* ffmpeg,
not of development *with* ffmpeg. For the latter, the list libav-users
is the appropriate one.

> All external libraries are disabled, and configure script tells me that:

You should also show your configure line used.

> CMakeFiles/Valkka.dir/src/filters.cpp.o -lX11 -lGLEW -lGLU -lGL 
> -L/home/sampsa/C/valkka/lib -Wl,--allow-multiple-definition 
> -Wl,-Bsymbolic -Wl,--start-group -Wl,--whole-archive -l:libliveMedia.a 
> -l:libgroupsock.a -l:libBasicUsageEnvironment.a -l:libUsageEnvironment.a 
> -l:libavfilter.a -l:libavformat.a -l:libavcodec.a -l:libavutil.a 
> -l:libswscale.a -l:libswresample.a -Wl,--no-whole-archive -Wl,--end-group

You need to determine the necessary dependencies from each libav*'s
pkg-config. It's not just "-lavsomething".

> There's no freaking way to get rid of these vaapi-related symbols..!

Probably, your configure picks up your locally installed libva(-devel),
and therefore enables either the vaapi encoder or a filter, or both.
Neither of these are hwaccels IIUC, so they won't show in that list.
But they should show up under encoders or filters, respectively.

You can use "--disable-vaapi" when configuring to git rid of them. Or
link your program(s) against the proper dependencies.
> the git branch
> origin/release/3.0

Why? How about 3.4 or master?


More information about the ffmpeg-devel mailing list