Questo avviso si verifica spesso quando si tenta di collegare un codice a 64 bit con una libreria a 32 bit, vedere questa domanda: Skipping Incompatible Libraries at compile.
bisogna distinguere i file di libreria 2:
$CUDA_HOME/lib/libcudart.so
, la versione a 32 bit della biblioteca cudart
.
$CUDA_HOME/lib64/libcudart.so
, la versione a 64 bit della libreria cudart
.
(nel tuo caso, $CUDA_HOME
è /usr/local/cuda-5.0
)
In sostanza, il linker trova la libreria a 32 bit prima (-L
opzioni vengono ricercati in ordine) e restituisce tale avvertimento, anche se finisce per trovare il giusto biblioteca.
probabilmente è necessario aggiungere $CUDA_HOME/lib64
alla variabile d'ambiente LD_LIBRARY_PATH
prima $CUDA_HOME/lib
in modo che ld
può trovare la libreria corretta per la propria architettura a 64 bit prima che la versione a 32 bit.
Stai cercando di compilare un codice a 64 bit? In tal caso, è necessario collegarsi alla versione a 64 bit che deve trovarsi in '/ usr/local/cuda-5.0/lib64/libcartart.so'. – BenC