I can’t compile any .cu files with nvcc. I don’t know if I’m doing something wrong or if there is a problem with my systems’ setup. Everytime I try compiling I get the following.
nvcc ~/src/cuda/learning/ParameterPassing.cu
/usr/include/surface_functions.h: In function ‘void surf1Dread(T*, surface<void, 1>, int, int, cudaSurfaceBoundaryMode)’:
/usr/include/surface_functions.h:100:95: error: there are no arguments to ‘__surf1Dreadc1’ that depend on a template parameter, so a declaration of ‘__surf1Dreadc1’ must be available
/usr/include/surface_functions.h:100:95: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/include/surface_functions.h:101:96: error: there are no arguments to ‘__surf1Dreads1’ that depend on a template parameter, so a declaration of ‘__surf1Dreads1’ must be available
/usr/include/surface_functions.h:102:94: error: there are no arguments to ‘__surf1Dreadu1’ that depend on a template parameter, so a declaration of ‘__surf1Dreadu1’ must be available
/usr/include/surface_functions.h:103:94: error: there are no arguments to ‘__surf1Dreadu2’ that depend on a template parameter, so a declaration of ‘__surf1Dreadu2’ must be available
/usr/include/surface_functions.h:104:95: error: there are no arguments to ‘__surf1Dreadu4’ that depend on a template parameter, so a declaration of ‘__surf1Dreadu4’ must be available
/usr/include/surface_functions.h: In function ‘void surf2Dread(T*, surface<void, 2>, int, int, int, cudaSurfaceBoundaryMode)’:
/usr/include/surface_functions.h:460:98: error: there are no arguments to ‘__surf2Dreadc1’ that depend on a template parameter, so a declaration of ‘__surf2Dreadc1’ must be available
/usr/include/surface_functions.h:461:99: error: there are no arguments to ‘__surf2Dreads1’ that depend on a template parameter, so a declaration of ‘__surf2Dreads1’ must be available
/usr/include/surface_functions.h:462:97: error: there are no arguments to ‘__surf2Dreadu1’ that depend on a template parameter, so a declaration of ‘__surf2Dreadu1’ must be available
/usr/include/surface_functions.h:463:97: error: there are no arguments to ‘__surf2Dreadu2’ that depend on a template parameter, so a declaration of ‘__surf2Dreadu2’ must be available
/usr/include/surface_functions.h:464:98: error: there are no arguments to ‘__surf2Dreadu4’ that depend on a template parameter, so a declaration of ‘__surf2Dreadu4’ must be available
I’m running Arch Linux x64 with the cuda 3.2, cuda-toolkit 3.2 and cuda-sdk 3.2 packages installed from schnouki’s repo. I also have the NVidia dev driver installed for the 3.2 toolkit.
Why am I getting that ouput every single time I try and compile a .cu, any .cu source?