PyOpenCL在通过“easy_install”安装时无法找到包含文件。

时间:2011-06-14 21:16:45

标签: python cuda opencl easy-install

所以我下载了nVidia CUDA库并将它们放在默认位置:

/usr/local/cuda

当我去运行时:

sudo easy_install pyopencl

它给了我这个错误:

In file included from src/wrapper/wrap_cl.cpp:1:0:
src/wrapper/wrap_cl.hpp:20:19: fatal error: CL/cl.h: No such file or directory

但是,我可以验证上面的文件 与其他几个头文件一起存在:

/usr/local/cuda/include/CL/cl.h

我甚至尝试过设置LD_LIBRATH_PATH:

export LD_LIBRARY_PATH=/usr/local/cuda/lib

但它似乎没有任何效果。

感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

您的编译器的include路径可能不包含/ usr / local / cuda / include /。实际上,环境变量LD_LIBRARY_PATH告诉编译器/运行时环境在哪里可以找到共享对象文件。有两种方法(知道)可以解决这个问题:

1)大多数编译器接受一个标志,指定包含路径的附加内容;对于gcc,它是-I,所以

gcc -I /usr/local/cuda/include [code files, more options, etc]

将告诉gcc在/ usr / local / cuda / include中寻找包含,除了系统包含路径

2)将OpenCL头文件链接到系统包含路径(通常是/ usr / include /)。 类似的东西:

# ln -s /usr/local/cuda/include/CL CL

在目录/ usr / include中执行应该可以工作。

如果解决此问题后,您遇到以下问题:

/usr/bin/ld: cannot find -lOpenCL

然后你可能想看看this question