libNvPipe.so.1.0.0: undefined reference to `cuvidReconfigureDecoder', 'cuvidGetDecodeStatus'
notoriousturtle opened this issue · 1 comments
notoriousturtle commented
Basically it compiles NvPipe, but fails when compiling the examples. Am I doing it wrong? Any other output you'd like to see?
Running on Cuda 9.0. Added the following to NvPipe/CMakeLists.txt (at the top) since I was getting warnings about cmake
not being able to find them:
SET(EGL_LIBRARY "/usr/lib/nvidia-384/libEGL.so")
SET(EGL_opengl_LIBRARY "/usr/lib/nvidia-384/libOpenGL.so")
SET(EGL_INCLUDE_DIR "/usr/lib/nvidia-384/")
When trying to build:
t@mpt:~/build$ nvidia-smi
Mon Jan 28 20:06:16 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro 4000 Off | 00000000:03:00.0 Off | N/A |
| 40% 41C P0 N/A / N/A | 0MiB / 1984MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
t@mpt:~/build$ export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
t@mpt:~/build$ export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
t@mpt:~/build$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85
t@mpt:~/build$ cd ..
t@mpt:~$ rm -rf build/
t@mpt:~$ mkdir build && cd build
t@mpt:~/build$ cmake /home/t/NvPipe/
-- The CXX compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Release' as none was specified.
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda-9.1 (found version "9.1")
-- Found EGL: /usr/lib/nvidia-384/libEGL.so
-- Could NOT find GLEW (missing: GLEW_INCLUDE_DIR GLEW_LIBRARY)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/t/build
t@mpt:~/build$ make
[ 8%] Building NVCC (Device) object CMakeFiles/NvPipe.dir/src/NvCodec/Utils/NvPipe_generated_ColorSpace.cu.o
[ 16%] Building NVCC (Device) object CMakeFiles/NvPipe.dir/src/NvPipe_generated_NvPipe.cu.o
/home/t/NvPipe/src/NvCodec/NvEncoder/nvEncodeAPI.h(1252): warning: signed bit field of length 1
/home/t/NvPipe/src/NvCodec/NvEncoder/nvEncodeAPI.h(1254): warning: signed bit field of length 1
/home/t/NvPipe/src/NvCodec/NvEncoder/nvEncodeAPI.h(1255): warning: signed bit field of length 1
/home/t/NvPipe/src/NvPipe.cu(402): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvPipe.cu(407): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvPipe.cu(572): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvPipe.cu(573): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvCodec/NvEncoder/nvEncodeAPI.h(1252): warning: signed bit field of length 1
/home/t/NvPipe/src/NvCodec/NvEncoder/nvEncodeAPI.h(1254): warning: signed bit field of length 1
/home/t/NvPipe/src/NvCodec/NvEncoder/nvEncodeAPI.h(1255): warning: signed bit field of length 1
/home/t/NvPipe/src/NvPipe.cu(402): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvPipe.cu(407): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvPipe.cu(572): warning: integer conversion resulted in a change of sign
/home/t/NvPipe/src/NvPipe.cu(573): warning: integer conversion resulted in a change of sign
Scanning dependencies of target NvPipe
[ 25%] Building CXX object CMakeFiles/NvPipe.dir/src/NvCodec/NvEncoder/NvEncoder.cpp.o
[ 33%] Building CXX object CMakeFiles/NvPipe.dir/src/NvCodec/NvEncoder/NvEncoderCuda.cpp.o
[ 41%] Building CXX object CMakeFiles/NvPipe.dir/src/NvCodec/NvDecoder/NvDecoder.cpp.o
[ 50%] Linking CXX shared library libNvPipe.so
[ 50%] Built target NvPipe
Scanning dependencies of target nvpExampleFile
[ 58%] Building CXX object CMakeFiles/nvpExampleFile.dir/examples/file.cpp.o
[ 66%] Linking CXX executable nvpExampleFile
libNvPipe.so.1.0.0: undefined reference to `cuvidReconfigureDecoder'
libNvPipe.so.1.0.0: undefined reference to `cuvidGetDecodeStatus'
collect2: error: ld returned 1 exit status
CMakeFiles/nvpExampleFile.dir/build.make:100: recipe for target 'nvpExampleFile' failed
make[2]: *** [nvpExampleFile] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/nvpExampleFile.dir/all' failed
make[1]: *** [CMakeFiles/nvpExampleFile.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
t@mpt:~/build$