/usr/bin/ld: cannot find -lshrutil_x86_64

Anyone know what this error is all about?

~/NVIDIA GPU Computing SDK/C/src/vectorAdd$ make
/usr/bin/ld: cannot find -lshrutil_x86_64
collect2: ld returned 1 exit status
make: *** […/…/bin/linux/release/vectorAdd] Error 1

Trying to compile the simple vecAdd program from NVIDIA’s site.


Thanks in advance!

You need to add …NVIDIA_GPU_Computing_SDK/shared/lib to the link path.


It didn’t work for me. Do you guys have any other sugestion?

It may be the result of trying to build an “old” SDK app on a “new” toolkit. The old apps up through CUDA 4.2 had several support libraries, one of which was shrutil (something). Back in 2010 when this message was posted, it was roughly in the CUDA 4.0 timeframe and that’s the way it worked. If you see this error now on a 5.0 or newer toolkit, you probably don’t even have the libraries needed. If you’re trying to build one of the older SDK apps, just switch to the newer samples. If you’re getting this in some other app, that app was written to use/borrow a library from one of those old toolkits. If you want to build the app as-is, you’ll need to get one of those older CUDA SDK’s and install it and build it.

How to do that?