我正在尝试在Ubuntu 16.04上安装PyOpenCL,但收到以下错误:
/usr/bin/ld: cannot find -lOpenCL
collect2: error: ld returned 1 exit status
error: command 'c++' failed with exit status 1
我该如何解决这个问题?
感谢。
答案 0 :(得分:0)
基于this page,似乎我必须只在我的bash上运行此命令才能删除错误:
apt-get install python-pyopencl
答案 1 :(得分:0)
您需要安装:ocl-icd-opencl-dev
apt-get install ocl-icd-opencl-dev
您可以检查运行该软件包时实际安装了什么:
$ dpkg -L ocl-icd-opencl-dev
应该返回以下内容:
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/ocl-icd-opencl-dev
/usr/share/doc/ocl-icd-opencl-dev/copyright
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/OpenCL.pc
/usr/share/doc/ocl-icd-opencl-dev/changelog.Debian.gz
/usr/lib/x86_64-linux-gnu/libOpenCL.so # <--- this is the important bit
如果您抱怨缺少标题(例如CL / cl.h),则应安装:
apt-get install opencl-headers
。
请不要忘记为您的平台安装特定的OpenCL驱动程序。您可能会在Intel CPU / GPU,AMD或NVidia显卡甚至FPGA上运行。
一种检查所有设置的好方法是运行clinfo
,它将显示有关可用平台(apt-get install clinfo
)的有用信息。