Error al cargar la biblioteca CUDA al intentar usar ffmpeg con nvenc

Error al cargar la biblioteca CUDA al intentar usar ffmpeg con nvenc

En Ubuntu 14.04 estoy siguiendo la guía de instruccionesdel sitio de NVIDIApara ejecutar ffmpeg usando codificación GPU.

Seguí las instrucciones (hasta donde yo sé), instalé el .dep local del SDK de NVIDIA, instalé el cudapaquete y el nvidia-352paquete, luego compilé ffmpeg.

Sin embargo, cuando intento hacer la siguiente llamada:

ffmpeg -i ~/test/StreamInstructions.mp4 -vcodec nvenc -b:v 5M -f avi output.mp4

ffmpeg me dice Failed loading CUDA library.

La búsqueda en Google me muestra que el código fuente de este mensaje de error se origina en la línea de código: dl_fn->cuda_lib = dlopen("libcuda.so", RTLD_LAZY);.

Esto me dice (que no ha hecho mucho C++ o Linux en la última década) que no puede encontrar la biblioteca compartida libcuda.so.

Al realizar una búsqueda en el sistema de archivos, veo que libcuda.sose encuentra en las siguientes ubicaciones:

/usr/local/cuda-7.5/doc/man/man7/libcuda.so.7
/usr/local/cuda-7.5/targets/x86_64-linux/lib/stubs/libcuda.so
/usr/lib/i386-linux-gnu/libcuda.so.1
/usr/lib/i386-linux-gnu/libcuda.so
/usr/lib/i386-linux-gnu/libcuda.so.352.63
/usr/lib/x86_64-linux-gnu/libcuda.so.1
/usr/lib/x86_64-linux-gnu/libcuda.so.352.63

No puedo encontrar ningún otro resultado en mi búsqueda para ayudar a resolver este problema, y ​​por eso siento que podría estar haciendo algo mal en el nivel de Linux en lugar de en el nivel de ffmpeg.

¿Alguien tiene alguna sugerencia sobre adónde ir desde aquí?

Editar: Me acabo de dar cuenta de que ldconfig -pen realidad muestra que puede encontrar la libcuda.sobiblioteca, pero sigo recibiendo errores que indican que no puede encontrar la biblioteca:

 ldconfig -p | grep cuda
        libicudata.so.52 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.52
        libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
        libcuda.so.1 (libc6) => /usr/lib/i386-linux-gnu/libcuda.so.1
        libcuda.so (libc6) => /usr/lib/i386-linux-gnu/libcuda.so

Respuesta1

NOTA:
¡Primero haga una copia de seguridad de su antiguo LD_LIBRARY_PATH!
Este comando colocará el valor de la variable de entorno LD_LIBRARY_PATH en su directorio de inicio en el archivo "LD_LIBRARY_PATH.old".
#>$ echo $LD_LIBRARY_PATH >> ~/LD_LIBRARY_PATH.old

MI SOLUCIÓN:
Tuve este problema cuando instalé los controladores NVidia/Cuda en Fedora. Tuve que actualizar la ruta de mi biblioteca:
#>$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/cuda/lib

REVERTIR CAMBIOS:
#>$ export LD_LIBRARY_PATH=$(cat ~/LD_LIBRARY_PATH.old)

información relacionada