J'ai installé le cuba8.0 sur Ubuntu 16 en suivant les étapes ici .
Exécutez ensuite la mesure de confirmation. Après cela, je lance le make et je rencontre des erreurs comme ceci:
$make
...
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/bin/ld: cannot find -lnvcuvid
collect2: error: ld returned 1 exit status
Makefile:381: recipe for target 'cudaDecodeGL' failed
make[1]: *** [cudaDecodeGL] Error 1
make[1]: Leaving directory '/home/cocadas/Workspace/NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL'
Makefile:52: recipe for target '3_Imaging/cudaDecodeGL/Makefile.ph_build' failed
make: *** [3_Imaging/cudaDecodeGL/Makefile.ph_build] Error 2
Ensuite, j'ai vérifié les informations du système
Environnement
$ printenv PATH
/usr/local/cuda-8.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/Java-8-Oracle/bin:/usr/lib/jvm/Java-8-Oracle/db/bin:/usr/lib/jvm/Java-8-Oracle/jre/bin:/home/cocadas/Program/Android-studio/bin
$ echo $LD_LIBRARY_PATH
/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/lib64
OS
$ uname -m
x86_64
$ uname -r
4.4.0-64-generic
Autres
$ lspci |grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1)
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ Sudo apt-get install linux-headers-$(uname -r)
[Sudo] password for cocadas:
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-4.4.0-64-generic is already the newest version (4.4.0-64.85).
linux-headers-4.4.0-64-generic set to manually installed.
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-53 linux-headers-4.4.0-53-generic linux-image-4.4.0-53-generic
linux-image-extra-4.4.0-53-generic
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 99 not upgraded.
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 375.26 Thu Dec 8 18:36:43 PST 2016
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
Alors, que puis-je essayer d'autre?
Les makefiles des exemples ont un numéro de version incorrect pour nvidia-xxx. Remplacez-les par: sed -i "s/nvidia-367/nvidia-375/g" `grep "nvidia-367" -r ./ -l`
et essayez à nouveau.
Cela peut être spécifique à la version 9.0, mais cela ressemble à la dernière requête de scripts pour le pilote que vous avez installé via dpkg. On dirait que c'est le premier qui se trouve, si vous en avez plusieurs, ce qui est plutôt la version la plus ancienne.
Il me suffisait de désinstaller certains anciens pilotes (qui n'étaient plus utilisés) via:
# NOTE: your driver versions may vary
Sudo apt-get remove nvidia-367
Sudo apt-get remove nvidia-375
La cause principale est que l'éditeur de liens ne trouve pas libnvcuvid et que la version du pilote du fichier make doit être 375 (comme indiqué dans le post). Par conséquent, utilisez la commande suivante dans le dossier:
~/NVIDIA_CUDA-8.0_Samples/$find . -type f -execdir sed -i 's/UBUNTU_PKG_NAME = "nvidia-367"/UBUNTU_PKG_NAME = "nvidia-375"/g' '{}' \;
J'ai utilisé la méthode dans ce post: cuda-sample-build-error . Je pense que vous devez simplement remplacer la version correcte du pilote gpu dans UBUNTU_PKG_NAME = "nvidia-375"
, que vous pouvez trouver à
.../NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL/findgllib.mk fichier