Building against ffmpeg with opencl

Jan Palus jan.palus at gmail.com
Sat Jul 26 14:24:40 CEST 2014


Hi,

I'm trying to build new release of mpv against ffmpeg-2.2.5 which is now
built with opencl. Unfortunately I get undefined symbols during linking:

/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavutil.so: undefined reference to `clReleaseMemObject at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavutil.so: undefined reference to `clReleaseCommandQueue at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavfilter.so: undefined reference to `clFinish at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavutil.so: undefined reference to `clSetKernelArg at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavfilter.so: undefined reference to `clReleaseProgram at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavutil.so: undefined reference to `clGetPlatformInfo at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavutil.so: undefined reference to `clEnqueueUnmapMemObject at OPENCL_1.0'
/usr/lib64/gcc/x86_64-pld-linux/4.8.3/../../../../lib64/libavutil.so: undefined reference to `clCreateProgramWithSource at OPENCL_1.0'
...

I suppose it is somewhat connected to the fact that NVIDIA's libOpenCL
(which I have installed) does not provide versioned symbols. Any ideas
how this could be solved? Adding -lOpenCL fixes the problem but I don't
think it is a right direction.


More information about the pld-devel-en mailing list