CUDA SDK와 함께 제공되는 일부 예제를 컴파일하는 데 문제가 있습니다. 개발자 드라이버 (버전 270.41.19)와 CUDA 툴킷을 설치 한 다음 마지막으로 SDK (모두 4.0.17 버전)를 설치했습니다.
처음에는 전혀 컴파일되지 않았습니다.
error -- unsupported GNU version! gcc 4.5 and up are not supported!
81 : /usr/local/cuda/include/host_config.h에서 담당하는 줄을 발견하고 다음과 같이 변경했습니다.
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
그 시점부터 컴파일 할 예제 중 몇 개만 얻었으며 다음과 같이 중지됩니다.
In file included from /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h:162:0,
from /usr/include/c++/4.6/ext/atomicity.h:34,
from /usr/include/c++/4.6/bits/ios_base.h:41,
from /usr/include/c++/4.6/ios:43,
from /usr/include/c++/4.6/ostream:40,
from /usr/include/c++/4.6/iterator:64,
from /usr/local/cuda/include/thrust/iterator/iterator_categories.h:38,
from /usr/local/cuda/include/thrust/device_ptr.h:26,
from /usr/local/cuda/include/thrust/device_malloc_allocator.h:27,
from /usr/local/cuda/include/thrust/device_vector.h:26,
from lineOfSight.cu:37:
/usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h:251:1: error: pasting "__gthrw_" and "/* Android's C library does not provide pthread_cancel, check for
`pthread_create' instead. */" does not give a valid preprocessing token
make[1]: *** [obj/x86_64/release/lineOfSight.cu.o] Error 1
일부 예제가 컴파일되면 이것이 드라이버 문제가 아니라 지원되지 않는 gcc 버전과 관련이 있다고 생각합니다. gcc4.6은이 시점에서 전체 시스템을 종속성으로 사용하므로 다운 그레이드는 옵션이 아닙니다.