En essayant de "Faire" CUDA SDK, ld ne peut pas trouver la bibliothèque, ldconfig dit qu'elle peut

Je sais qu'il y a beaucoup d'autres questions semblables à celle-ci, mais aucune des solutions postulé il y a de travail pour moi

Fondamentalement, rendant l'exemple du SDK fichiers, j'obtiens /usr/bin/ld: cannot find -lcuda
qui serait assez facile "de trouver la bibliothèque et de le jeter à ldconfig", à l'exception ldconfig déjà dit qu'il en a...

$ sudo ldconfig -v | grep cuda
/usr/local/cuda/lib64:
    libcudartemu.so.3 -> libcudartemu.so.3.0.14
    libcudart.so.3 -> libcudart.so.3.0.14
/usr/local/cuda/lib:
    libcudartemu.so.3 -> libcudartemu.so.3.0.14
    libcudart.so.3 -> libcudart.so.3.0.14
    libcuda.so.1 -> libcuda.so.195.36.15
    libcuda.so.1 -> libcuda.so.195.36.15
    libicudata.so.42 -> libicudata.so.42.1

Et j'ai vérifié, il y a un lien symbolique libcuda.so -> libcuda.so.1 mais je suis encore confus quant à pourquoi libcuda.so -> ... ne pas montrer

Je doit manquer quelque chose de vraiment évident. Des idées?

Trouve cette question par l'intermédiaire de Google. Depuis que je suis maintenant un problème similaire de 3 ans plus tard, j'ai pensé que je remarque ma solution: Pour au moins le CUDA 5.0 SDK échantillons et mon pilote actuel (304.64), ce problème peut être résolu en utilisant make EXTRA_LDFLAGS="-L /usr/lib64/nvidia" (commutateur lib64 pour lib sur les systèmes 32 bits). L'éditeur de liens est à la recherche dans le répertoire /usr/lib(64), mais le pilote installé choses dans usr/lib(64)/nvidia, mais la condition des makefiles faire usage de EXTRA_LDFLAGS.

OriginalL'auteur Bolster | 2010-04-26