Page 1 of 1

OpenCL symbols missing

Posted: 14 May 2017, 11:19
by FedeWar
I am trying to compile OpenMW but during linking it fails with these errors:
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clReleaseMemObject@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clReleaseCommandQueue@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clSetKernelArg@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clGetPlatformInfo@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clEnqueueUnmapMemObject@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clCreateProgramWithSource@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clCreateContextFromType@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clCreateCommandQueue@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clEnqueueMapBuffer@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clGetProgramBuildInfo@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clCreateBuffer@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clBuildProgram@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clGetDeviceIDs@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clGetDeviceInfo@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clReleaseContext@OPENCL_1.0"
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so: riferimento non definito a "clGetPlatformIDs@OPENCL_1.0"
I tried to add libnvidia-opencl.so in build/CMakeCache.txt without success, it failed even with the libraries compiled from scratch with the --enable-opencl option.

I have no clue, did somebody have the same problem?

Thanks in advance.

Re: OpenCL symbols missing

Posted: 14 May 2017, 12:27
by psi29a
OpenMW does not use OpenCL.

This looks like your version of ffmpeg was compiled with libopencl support.

Have you tried our generic builds? It should work with RedHat/RPM based distros.

Re: OpenCL symbols missing

Posted: 14 May 2017, 15:07
by FedeWar
I am already using the prebuilt version, but I wanted to build my own.
If you say OpenMW does not use OpenCL maybe I should try to compile ffmpeg without OpenCL.

Re: OpenCL symbols missing

Posted: 14 May 2017, 15:22
by psi29a
Go for it and report back. :)

If you are using the prebuilt one, then why are you seeing this?
/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../lib64/libavutil.so
This seems to me as it is using system's ffmpeg and not the ffmpeg (libavutil and friends) that comes with the generic build. They are available here:
https://github.com/OpenMW/openmw/releases

In the generic builds provided above use the libavutil.so located in the ./lib/ directory of the archive and using ldd does not show one link to opencl.

Are you confusing the generic build with the one provided by rpmfusion? If you are having problems with their builds, you should contact them to fix them.

Re: OpenCL symbols missing

Posted: 14 May 2017, 18:56
by FedeWar
I thought you meant with generic build the one on the Fedora repo, btw I recompiled ffmpeg without OpenCL and now everything works.
The distant land feature is fantastic.

Thank you for your help.

Re: OpenCL symbols missing

Posted: 14 May 2017, 22:56
by psi29a
You should contact the makers of the fedora/redhat/rpm openmw packages, it seems to be broken. We're not responsible for those builds and have no contact with them.

Glad you got it to work!

Yes, our generic builds are a pure tar.gz archive which should work on all x86(_64) distros.