Piyush Kumar
Piyush Kumar

Reputation: 167

Library of opencl not found?

I am trying to compile an opencl sample code but I am getting the following error

    /usr/bin/ld: cannot find -lOpenCL
/usr/bin/ld: cannot find -loclUtil_x86_64
/usr/bin/ld: cannot find -lshrutil_x86_64
collect2: error: ld returned 1 exit status
make: *** [../../..//OpenCL//bin//linux/release/DeviceQuery] Error 1

I am using intel based machine ... My make file is EXECUTABLE := DeviceQuery CCFILES := devQury.cpp include ../common/common_opencl.mk

Any help would be of great help

Thanks , Piyush

Upvotes: 2

Views: 13137

Answers (2)

pradyot
pradyot

Reputation: 174

Make sure that the OpenCL library (libOpenCL.so) is present in /usr/lib. This should have been put in place by the driver, so you shouldn't have to do anything.

If not then copy libOpenCL.so present in your cuda toolkit (lib64) to the above location.

sudo cp /usr/local/cuda-7.0/lib64/libOpenCL.so /usr/lib

This fixes the error

/usr/bin/ld: cannot find -lOpenCL
collect2: error: ld returned 1 exit status

Upvotes: 4

chippies
chippies

Reputation: 1615

Have you installed the OpenCL SDK from either Intel or AMD? If not then perhaps you should follow these instructions. If you have an SDK installed then your makefile is probably missing -L... in the compiler command line, where ... is the path to the lib folder in the OpenCL SDK that should contain a file libOpenCL.a or something similar.

Upvotes: 2

Related Questions