J'ai des problèmes de compilation de certains des exemples livrés avec CUDA SDK. J'ai installé les développeurs pilote (version 270.41.19) et le CUDA toolkit, puis, enfin, le SDK (à la fois le 4.0.17 version).
Au départ, il n'a pas de compilation à tout donner:
error -- unsupported GNU version! gcc 4.5 and up are not supported!
J'ai trouvé la ligne de responsable dans le 81:/usr/local/cuda/include/host_config.h et cela a changé:
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
à partir de ce moment j'ai que quelques exemples pour compiler, il s'arrête avec:
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
Comme certains exemples de compiler je recon ce n'est pas un problème de pilote, doit plutôt avoir qqch à faire avec non pris en charge la version de gcc. Le déclassement n'est pas une option, car gcc4.6 a tout un système comme une dépendance à ce point...