stereolabs / zed-docker

Docker images for the ZED SDK
https://hub.docker.com/r/stereolabs/zed/
MIT License
52 stars 19 forks source link

Terminate called after throwing an instance of 'pwgen::PwgenException' what(): Driver error: #28

Closed phamdat09 closed 4 years ago

phamdat09 commented 4 years ago

Hello,

I try to run the ZED-SDK 3.3.1 with cuda 11.1, ubuntu 18.04 and driver-nvidia version 455. ( I have a card RTX 2080 Ti).

When I run the object dection module with an optimization, i got an erorr Terminate called after throwing an instance of 'pwgen::PwgenException' what(): Driver error:

Can you tell me How I can fix it ?? Thanks

adujardin commented 4 years ago

Hi,

Could you specify the exact commands used to get this error? This is not an error we encountered before.

In the meantime, you could try to ask the Nvidia developers at https://forums.developer.nvidia.com/c/accelerated-computing/gpu-accelerated-libraries/12 if they have any idea on the possible root cause.

phamdat09 commented 4 years ago

Hello, i use this docker file to build an image!!

FROM nvidia/cuda:11.1-devel-ubuntu18.04
RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo build-essential cmake -y && \
    wget -qO ZED_SDK.run https://download.stereolabs.com/zedsdk/3.3/cu111/ubuntu18_full && \
    chmod +x ZED_SDK.run ; ./ZED_SDK.run silent && \
    rm ZED_SDK.run && \
    rm -rf /var/lib/apt/lists/*

ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:/usr/lib/x86_64-linux-gnu
ENV CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:/usr/lib/aarch64-linux-gnu
WORKDIR /usr/local/zed/

After, i use this commands: sudo docker run --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all -ti zed_devel:latest bash with zed_devel:latest is the name of docker imgae. Then, I will build the object detection sample with C++.It raises an error which I mentioned when the model optimizea!!

Thanks for your supports

adujardin commented 4 years ago

OK, I have the same message and I found the issue. You shouldn't add the stubs folder to the ld library path. It's dummy libraries only meant for building.

Your Dockerfile should be like (notice the LD_LIBRARY_PATH):

FROM nvidia/cuda:11.1-devel-ubuntu18.04
RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo build-essential cmake -y && \
    wget -qO ZED_SDK.run https://download.stereolabs.com/zedsdk/3.3/cu111/ubuntu18_full && \
    chmod +x ZED_SDK.run ; ./ZED_SDK.run silent && \
    rm ZED_SDK.run && \
    rm -rf /var/lib/apt/lists/*

ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/lib/x86_64-linux-gnu
ENV CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:/usr/lib/aarch64-linux-gnu
WORKDIR /usr/local/zed/

To test this I used your original Dockerfile and removed the stubs folder (rm -rf /usr/local/cuda/lib64/stubs/) in interactive mode to make sure, and the optimization worked.

phamdat09 commented 4 years ago

Thank you so much!!

Your solution works well on my side !!