Compilation Problems Cuda 3.1 [ArchLinux]

Hello everybody ;)

I updated my version of CUDA (3.0 to 3.1) and when I compile my source code, I obtain this error :

/usr/include/surface_functions.h: In function ‘void surf1Dread(T*, surface<void, 1>, int, int, cudaSurfaceBoundaryMode)’:

/usr/include/surface_functions.h:100:95: erreur: 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: erreur: 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: erreur: 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: erreur: 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: erreur: 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: erreur: 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: erreur: 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: erreur: 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: erreur: 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: erreur: there are no arguments to ‘__surf2Dreadu4’ that depend on a template parameter, so a declaration of ‘__surf2Dreadu4’ must be available

I don’t understand why I obtained this error, any ideas ?

I use CMake to compile my project, so here is the code CMake if you have suggestions :

cmake_minimum_required( VERSION 2.8 )

project( Volume_Render )

set(EXECUTABLE_OUTPUT_PATH bin/)

set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

find_package( CUDA REQUIRED )

find_package( GLEW REQUIRED )

find_package( GLUT REQUIRED )

set( CUDA_VERBOSE_BUILD ON )

set( CUDA_PROPAGATE_HOST_FLAGS OFF )

set( CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE OFF )

set( CUDA_BUILD_EMULATION OFF )

#set( CUDA_NVCC_FLAGS )

ADD_DEFINITIONS(-Wall -Wextra -ansi -O2 -Wwrite-strings -Wuninitialized -Wunreachable-code -Wno-missing-braces -Wno-missing-field-initializers)

include_directories (

  headers

  ${GLEW_INCLUDE_PATH}

  ${GLUT_INCLUDE_DIR}

)

file(

  GLOB_RECURSE

  source_files

  ./src/*.cpp

)

file(

   GLOB_RECURSE

   cuda_files

   ./kernels/*.cu

)

CUDA_ADD_EXECUTABLE (

   Volume_Render

   ${source_files}

   ${cuda_files}

)

target_link_libraries (

  Volume_Render

  ${GLEW_LIBRARY}

  ${GLUT_LIBRARIES}

)

CUDA_BUILD_CLEAN_TARGET()

Thank you for your help.

are there any solution on this topic? i experience the same error…