I am attempting to build jetson-inference from a Dockerfile so that I can run code out of a docker container.
I have created the following Dockerfile that essentially follows the build steps from the Hello AI World example.
FROM nvcr.io/nvidia/l4t-ml:r32.4.2-py3 RUN apt-get update RUN apt-get install git cmake libpython3-dev python3-numpy RUN git clone --recursive https://github.com/dusty-nv/jetson-inference # I found this line was required RUN ln -s /usr/lib/aarch64-linux-gnu/libnvparsers.so.7.1.0 /usr/lib/aarch64-linux-gnu/libnvcaffe_parser.so RUN echo $PATH && cd jetson-inference && mkdir build && cd build && cmake ../ # This build step fails. If this step is removed, and I ssh into the container created from the following steps, this step succeeds RUN cd jetson-inference/build && make -d -j1 && sudo make install && sudo ldconfig
When I run the Dockerfile:
sudo docker build -t jetson-inference-build .
The build fails with the following error:
sh: 1: cicc: not found
The really strange thing is if I omit the last step and ssh into the image with the following command I am able to build successfully.
sudo docker run --gpus all --privileged -it --rm --runtime nvidia --network host jetson-inference-build
make -d -j1
From digging around, it seems like /usr/local/cuda/nvvm/bin/cicc is available in the running container but not when I try building from the Dockerfile.
I’m new to Docker so I’m assume I’m missing some important nuance.
Many thanks for your help!