CUDA SDK ile birlikte gönderilen bazı örnekleri derlemekte sorun yaşıyorum. Geliştiriciler sürücüsünü (sürüm 270.41.19) ve CUDA araç setini, ardından son olarak SDK'yı (her ikisi de 4.0.17 sürümü) yükledim.
Başlangıçta hiç derlemedi:
error -- unsupported GNU version! gcc 4.5 and up are not supported!
81: /usr/local/cuda/include/host_config.h dosyasında sorumlu satırı buldum ve şu şekilde değiştirdim:
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
o noktadan sonra derleyeceğim örneklerden sadece birkaçına sahip oldum, şu şekilde bitiyor:
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
Bazı örneklerin derlendiğine göre, bunun bir sürücü sorunu olmadığını, daha çok desteklenmeyen bir gcc sürümüyle ilgisi olması gerektiğini düşünüyorum. Gcc4.6 bu noktada bağımlılık olarak bütün bir sisteme sahip olduğundan, sürüm düşürmek bir seçenek değildir ...