-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure in docker because of libnvcuvid #102
Comments
I have exactly this problem. Could you post your full Dockerfile? |
Good to see. Hope my hints above help you.
|
Thank you for your response. Much appreciated. I have created the symbolic link. However, it seems like my docker container still does not mount the library, it is missing. Building the library therefore fails.
I added If I enter
However, I don't get any output in the container... |
@bravma Curious. Try this:
It should output
If not, then there's something fundamentally broken, perhaps with the nvidia docker runtime? |
You're right, I got exactly this output Now if I link the library correctly, cmake finds it. However, during building it throws the following error:
This is the full output that I receive:
|
I was able to build the library by copying Now if I load a video using the following code, I get this strange exception.
If I randomly index some frames it works. Accessing key frames on the other hand throws this exception... |
First of all, thanks for digging into the issue.
|
@zhreshold Wonderful, many thanks for your help! |
Thank you all for your help! |
Sorry to resurrect this issue - but this might help some people coming here for assistance. I've ran across the issue that @bravma encountered ( No rule to make target '/usr/lib/x86_64-linux-gnu/libnvcuvid.so'). You need to configure the docker daemon to use nvidia's runtime by default, then the issue does not occur. |
@trifle - How do you configure the docker daemon to use nvidia's runtime by default? Thanks for your help. |
@prithvinambiar |
* dockerfile up * rename dockerfile to reflectpurpose
Hi,
this is a bug report because some people get stuck at this point, but I'm not quite convinced it's your fault :)
Issue: cmake fails to find libnvcuvid when you try to build decord in an nvidia cuda container will all necessary libs linked in (-e NVIDIA_DRIVER_CAPABILITIES=all - this should provide the container with pretty much everything that's in CUDA, cuvid, cudnn and so on).
[edit]: Just to add, this is using the official nvidia pre-built cuda dev container
nvidia/cuda:10.1-cudnn7-devel
That should obviously not happen. I've also successfully built ffmpeg with all the cuvid accelerations, dlib and other software - all successfully using cmake.
So why is this happening? The container has libnvcuvid here:
This is kind of strange. We know that libnvcuvid is not part of cuda but part of the driver. The host has 450.57 installed, so that's why the lib is versioned and provided via a link. But!! Nvidia itself recommends against using *.so.1 to load dlibs - instead, one apparently should use
libnvcuvid.so
(no suffix). I guess that's what you guys do.After linking
/usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
tolibnvcuvid.so
, everything works as expected.So, maybe you want to add some safety check to your cmake config to catch this behavior? Or document it somewhere? (I've at least written up this report so people can find it via the issues).
BTW, thanks a lot for decord and your hard work!
The text was updated successfully, but these errors were encountered: