Hi,
I've just installed CodeXL 1.1 on Linux. When I tried to run the Teapot example, it said the libOpenCL is missing
The following system libraries are missing: libOpenCL.so.1
Please ask your system administrator to install the missing libraries or create symbolic links from the above paths to the place where the libraries are installed.
I have installed AMD-APP-SDK and made sure libOpenCL.so.1 exists in /opt/AMDAPP/lib/x86_64/lib
this line exists in my export
LD_LIBRARY_PATH=":/opt/AMDAPP/lib/x86_64:/opt/AMDAPP/lib/x86"
My environment:
Oracle Linux 6.4 x86-64
CodeXL 1.1
AMD APP SK 2.8
Thanks,
patriot7
The problem might be that you do not have libOpenCL.so.1 in one of the default driver installation directories.
You should check LIBGL_DRIVERS_PATH directories (and parent directories). For example if it is /usr/lib64/dri check /usr/lib64/dri && /usr/lib64 for libOpenCL.so.1.
If the environment variable is not defined or the library is not installed, then maybe something in the installation of the driver is wrong and you should uninstall the display driver and re-install it.
Hi Gilad,
Thanks for your reply.
I'm using the default driver for my Intel HD gpu. The default driver didn't install with the environment variable setup and doesn't include the libOpenCL file.
Seems I need to copy & setup them manually.
However, seems Intel doesn't provide OpenCL support for its GPU under Linux.
Is that possible to use OpenCL( in CodeXL) with CPU only, without using the graphic driver?
Thanks
You can work with CodeXL and CPU but you will not be able to debug kernels on the CPU.
I am having the same problem. AMDTTeapot runs fine from the command line,
but fails to debug in CodeXL. Error is
The following system libraries are missing: libOpenCL.so.1
The file exist and is pointed to by LIBGL_DRIVERS_PATH.
The permissions are fine, and I have the same problem when
running as root.
Debian Wheezy
4 HD 7970 GPUs
amdcodexl_1.3.3487-1_amd64.deb
amd-catalyst-13.11-beta-v9.4-linux-x86.x86_64.run.zip
AMD-APP-SDK-v2.9-lnx64.tgz
AMD_CodeXL_Linux_x86_64_1.3.3487.tar.gz
$ echo $LIBGL_DRIVERS_PATH
/usr/lib/i386-linux-gnu/dri:/usr/lib/x86_64-linux-gnu/dri
$ locate libOpenCL.so
/opt/AMD/CodeXL_1.3.3487/bin/spies/libOpenCL.so
/opt/AMD/CodeXL_1.3.3487/bin/spies/libOpenCL.so.1
/opt/AMDAPP/lib/x86/libOpenCL.so
/opt/AMDAPP/lib/x86/libOpenCL.so.1
/opt/AMDAPP/lib/x86_64/libOpenCL.so
/opt/AMDAPP/lib/x86_64/libOpenCL.so.1
/usr/lib/libOpenCL.so.1
/usr/lib/i386-linux-gnu/libOpenCL.so.1
/usr/lib/x86_64-linux-gnu/libOpenCL.so
/usr/lib/x86_64-linux-gnu/libOpenCL.so.1
From the output you gave it is not clear if LIBGL_DRIVERS_PATH value is for root or not (usually root is marked with #),
Can you please verify that as root LIBGL_DRIVERS_PATH also shows the correct path for the libOpenCL.so directories (a common problem that root env vars are defined differently)
This is the setting for root, which is the same as for the non-root user.
$ su -
# echo $LIBGL_DRIVERS_PATH
/usr/lib/i386-linux-gnu/dri:/usr/lib/x86_64-linux-gnu/dri
I tired running CodeXL as root, but got the exact same behavior. I forgot to mention
that the OpenCL platforms and devices are missing in the tools->system information window.
However, the teapot example runs with out problem with CPU: Time-based Sampling and
GPU: Performance Counters.
Also tried running CodeXL logged into gnome as root. Same behavior. Does CodeXL have
a default path that it checks for libOpenCL.so.1? I could try creating a symlink, if I knew where
to put the link.
Thanks for looking into this.