Saya mengalami masalah saat mengumpulkan beberapa contoh yang dikirimkan dengan CUDA SDK. Saya telah menginstal driver pengembang (versi 270.41.19) dan toolkit CUDA, lalu akhirnya SDK (keduanya versi 4.0.17).
Awalnya itu tidak mengkompilasi sama sekali pemberian:
error -- unsupported GNU version! gcc 4.5 and up are not supported!
Saya menemukan baris yang bertanggung jawab di 81: /usr/local/cuda/include/host_config.h dan mengubahnya menjadi:
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
sejak saat itu saya hanya mendapatkan beberapa contoh untuk dikompilasi, itu berhenti dengan:
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
Seperti beberapa contoh kompilasi, saya rasa ini bukan masalah driver, tetapi harus ada hubungannya dengan versi gcc yang tidak didukung. Menurunkan versi bukanlah suatu opsi karena gcc4.6 memiliki seluruh sistem sebagai dependensi pada saat ini ...