compilation error after installing CUDA 9.1

I have a program which used to run well with CUDA 8.0. Now I have updated to CUDA 9.1. When compiling the program, I got the following errors (I’m using Ubuntu 16.04.3 by the way):

/usr/bin/ld: warning: libhidapi-libusb.so.0, needed by /usr/local/zed/lib/libsl_input.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libturbojpeg.so.0, needed by /usr/local/zed/lib/libsl_input.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libnvidia-fatbinaryloader.so.387.34, needed by //usr/lib/x86_64-linux-gnu/libcuda.so.1, not found (try using -rpath or -rpath-link)
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_shnum' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Get_FatBinary_From_Object’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Add_Cubin' /usr/local/zed/lib/libsl_input.so: undefined reference to hid_free_enumeration’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_section_contents' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_section_header’
/usr/local/zed/lib/libsl_input.so: undefined reference to tjInitCompress@TURBOJPEG_1.0' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to gpuInfoRunsOn’
/usr/local/zed/lib/libsl_input.so: undefined reference to tjDestroy@TURBOJPEG_1.0' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_section_header’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf_end' /usr/local/zed/lib/libsl_input.so: undefined reference to tjDecompress2@TURBOJPEG_1.2’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_named_section_header' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_shnum’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Delete' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Finish_Reading_Library’
/usr/local/zed/lib/libsl_input.so: undefined reference to hid_open_path' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to fatBinaryCtl’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_symbol_shndx' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_typed_section_header’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to gpucompRestoreLogLine' /usr/local/zed/lib/libsl_input.so: undefined reference to hid_enumerate’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_file_header' /usr/local/zed/lib/libsl_input.so: undefined reference to hid_write’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Free_Fatbinary' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_string_at_offset’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_symbol_shndx' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to fatBinaryCtl_Compile’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to fatBinaryCtl_PickCandidate' /usr/local/zed/lib/libsl_input.so: undefined reference to tjAlloc@TURBOJPEG_1.2’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_file_header' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_string_at_offset’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Load_Host_Object' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Start’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Start_Reading_Library' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_typed_section_header’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Next_Library_Member' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to gpucompSetLogLine’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Finish' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_section_name’
/usr/local/zed/lib/libsl_input.so: undefined reference to hid_read' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf_is_64bit’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elfLink_Free_Host_Object' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_named_section_header’
/usr/local/zed/lib/libsl_input.so: undefined reference to hid_close' /usr/local/zed/lib/libsl_input.so: undefined reference to hid_exit’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf_size' /usr/local/zed/lib/libsl_input.so: undefined reference to tjCompress2@TURBOJPEG_1.2’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_symbol_name' /usr/local/zed/lib/libsl_input.so: undefined reference to tjInitDecompress@TURBOJPEG_1.0’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf32_section_name' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to fatBinaryCtl_Delete’
//usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to fatBinaryCtl_Create' //usr/lib/x86_64-linux-gnu/libcuda.so.1: undefined reference to elf64_symbol_name’
collect2: error: ld returned 1 exit status
CMakeFiles/zed_capture.dir/build.make:124: recipe for target ‘zed_capture’ failed
make[2]: *** [zed_capture] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/zed_capture.dir/all’ failed
make[1]: *** [CMakeFiles/zed_capture.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: *** [all] Error 2

Could anyone help me find out the problem? Thank you very much!

I solved the problem myself. I purged NVidia driver and reinstalled CUDA and it works. Still don’t know the reason.