J'ai suivi le guide officiel nvidia pour installer cuda-7.0, mais j'ai eu quelques problèmes car ils ne fournissaient pas une explication complète. Et mes échantillons de test ne peuvent pas être générés par make
. Je vais expliquer les nombreuses erreurs que j'ai trouvées lors de l'installation.
Je travaille sur un Ubuntu 14.04 64 bits, avec NVIDIA Corporation GK107 [GeForce GT 640 OEM]
renvoyé par lspci | grep -i nvidia
. Ma version de gcc est 4.4.7.
J'ai téléchargé à partir de https://developer.nvidia.com/cuda-downloads le fichier "Linux x86 -> Ubuntu 14.04 -> Local Package Installer", pour lequel il ne fournit pas de valeur md5 à vérifier. Mais plus tard, l’installation s’avérait bien.
J'ai fait:
Sudo dpkg -i cuda*.deb # returned: OK
Sudo apt-get update
Sudo apt-get install cuda
Comme le dit le guide officiel, je dois d'abord configurer le chemin de l'environnement. J'ai changé pour:
cd /usr/local/cuda-7.0
et je peux ajouter un chemin:
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
Voici le premier problème: le chemin est perdu chaque fois que je ferme le terminal. Depuis que je peux le vérifier avec nvcc -V
où nous avons nvcc sous le premier répertoire.
Quand j'ai essayé de compiler les exemples:
cd /usr/local/cuda-7.0/samples
Sudo make
Enfin, il a renvoyé des erreurs:
make[1]: entering directory `/usr/local/cuda-7.0/samples/2_Graphics/Mandelbrot'
/usr/local/cuda-7.0/bin/nvcc -ccbin g++ -m64 -gencode
Arch=compute_20,code=sm_20 -gencode Arch=compute_30,code=sm_30 -gencode
Arch=compute_35,code=sm_35 -gencode Arch=compute_37,code=sm_37 -gencode
Arch=compute_50,code=sm_50 -gencode Arch=compute_52,code=sm_52 -gencode
Arch=compute_52,code=compute_52 -o Mandelbrot Mandelbrot.o Mandelbrot_cuda.o Mandelbrot_gold.o -L../../common/lib/linux/x86_64 -L/usr/lib/"nvidia-346" -lGL -lGLU -lX11 -lXi -lXmu -lglut -lGLEW
/usr/bin/ld: warning: libnvidia-tls.so.346.46, needed by /usr/lib/nvidia-346/libGL.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libnvidia-glcore.so.346.46, needed by /usr/lib/nvidia-346/libGL.so, not found (try using -rpath or -rpath-link)
/usr/lib/nvidia-346/libGL.so:‘_nv018tls’ undefined reference
...
# list of undefined reference
Et je ne peux pas aller plus loin.
cat /proc/driver/nvidia/version
ne fonctionne pas car /proc/driver
n'a pas le répertoire nvidia/
.
/dev/nvidia*
ne se ferme pas.
nvidia-smi
commande introuvable.
Ces problèmes existent après le redémarrage.
Correction du chemin et des paramètres de lib en ajoutant ces deux lignes sous ~/.profile
pour l'utilisateur actuel:
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
Et trouvé un lien utile: Installation et test de CUDA dans Ubuntu 14.04 il semble que j’ai besoin d’installer à la place le fichier.
Après plusieurs essais, j'ai finalement trouvé la solution. L'installation de CUDA est une tâche ardue, pour laquelle continue de corrompre la configuration de mon système que je n'ai aucun moyen de rétablir.
La solution pour l'installation doit être effectuée en mode tty1 (la ligne de commande), car elle doit tuer le service d'interface graphique avant d'installer les pilotes NVIDIA. refuser de travailler. Et nous avons besoin du fichier .run
. Pour des raisons que je ne peux pas savoir, les fichiers .deb ne se configurent jamais correctement et je ne les ai jamais obtenus. look Installation et test de CUDA dans Ubuntu 14.04 pour une solution similaire.
Besoin de mentionner, selon mes sentiers:
J'ai eu le même problème. L'exécution de la commande suivante m'a aidé à tester et à comprendre le problème:
ldd /usr/lib/nvidia-346/libGL.so.346.46
Enfin, l’ajout de ce qui suit à mon ~/.profile
a résolu le problème:
export LD_LIBRARY_PATH=/usr/lib/nvidia-346:$LD_LIBRARY_PATH
en effet, le chemin /usr/lib/nvidia-346
n'a pas été donné à l'éditeur de liens.
Moi aussi j'ai fait face au même problème, sous Ubuntu 14.04, x86_64 avec cuda 7.5. Les avertissements étaient:
/usr/bin/ld: warning: libnvidia-tls.so.352.63, needed by /usr/lib/nvidia-352/libGL.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libnvidia-glcore.so.352.63, needed by /usr/lib/nvidia-352/libGL.so, not found (try using -rpath or -rpath-link)
C'était la sortie de ldd /usr/lib/nvidia-352/libGL.so
:
$ ldd /usr/lib/nvidia-352/libGL.so
linux-vdso.so.1 => (0x00007ffc1c5d4000)
libnvidia-tls.so.352.63 =>
libnvidia-glcore.so.352.63 =>
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f161512e000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f1614f1c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1614b57000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1614952000)
libm.so.6 => /lib/x86_64-linux-(0x00007f1615488000)gnu/libm.so.6 (0x00007f161464c000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f161442d000)
/lib64/ld-linux-x86-64.so.2 (0x0000557aa9c51000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1614228000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1614022000)
J'ai ajouté la ligne suivante à ~/.zshrc
(~/.bashrc
... si vous utilisez bash):
export LD_LIBRARY_PATH=/usr/lib/nvidia-352:$LD_LIBRARY_PATH
Ainsi, voici les entrées relatives à cuda dans my ~/.zshrc
:
export PATH=$PATH:/usr/local/cuda-7.5/bin
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/nvidia-352:$LD_LIBRARY_PATH
Puis j'ai recherché ~/.zshrc
source ~/.zshrc
Maintenant, ldd /usr/lib/nvidia-352/libGL.so
montre:
linux-vdso.so.1 => (0x00007ffc1c5d4000)
libnvidia-tls.so.352.63 => tls/libnvidia-tls.so.352.63 (0x00007f1617f1c000)
libnvidia-glcore.so.352.63 (0x00007f1615488000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f161512e000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f1614f1c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1614b57000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1614952000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f161464c000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f161442d000)
/lib64/ld-linux-x86-64.so.2 (0x0000557aa9c51000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1614228000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1614022000)
Après cela, le répertoire make
à l'intérieur de NVIDIA_CUDA-7.5_Samples
s'est terminé avec succès.
J'ai eu le même problème. J'ai installé en utilisant le paquet .deb du site Web nvidia sur Ubuntu 14.04. La solution pour moi était:
export LD_LIBRARY_PATH=/usr/lib/nvidia-346:$LD_LIBRARY_PATH
à ~/.bashrcSudo bash
source ~./bashrc
make -j
Cela a résolu le problème pour moi.
J'ai l'impression qu'il y a des problèmes de permission lors de l'installation de CUDA à l'aide du fichier cuda-repo-ubuntuXXX_AMD64.deb. J'ai le