'cmake install error: file cannot create directory. Maybe need administrative priviliges (using Dockerfile)

Problem

I'm trying to install OpenCV using a Dockerfile, but I keep running into one error... It seems that the sudo make install step in the Dockerfile doesn't have the right privileges, but I'm not quite sure how to solve it.

Error

CMake Error at cmake_install.cmake:98 (file):
  file cannot create directory: /usr/local/lib/cmake/opencv4.  Maybe need
  administrative privileges.

Things I tried to solve it

Dockerfile

FROM frolvlad/alpine-glibc:latest

ARG RUNTIME_DEPS='sudo libpng libjpeg-turbo libwebp tiff jasper openexr openblas zlib'
ARG BUILD_DEPS='wget unzip cmake build-base python3 py3-pip linux-headers libpng-dev libjpeg-turbo-dev libwebp-dev tiff-dev openexr-dev jasper-dev openblas-dev zlib-dev'
ARG LIB_PREFIX='/usr/local'
ARG VERSION=4.5.5

ENV OPENCV_VERSION=${VERSION} \
    LIB_PREFIX=${LIB_PREFIX}

RUN echo "OpenCV: ${OPENCV_VERSION}" \
    && echo 'http://dl-cdn.alpinelinux.org/alpine/v3.10/main' >> /etc/apk/repositories \
    && rm -rf /usr/local/lib && ln -s /usr/local/lib64 /usr/local/lib \
    && apk update \
    && apk upgrade \
    && apk add -u --no-cache $RUNTIME_DEPS \
    && apk add -u --no-cache --virtual .build-dependencies $BUILD_DEPS \
    && wget -q https://github.com/Itseez/opencv/archive/${OPENCV_VERSION}.zip -O opencv.zip \
    && wget -q https://github.com/Itseez/opencv_contrib/archive/${OPENCV_VERSION}.zip -O opencv_contrib.zip \
    && mkdir /opencv \
    && mv opencv.zip opencv_contrib.zip /opencv \
    && cd /opencv \
    && unzip -qq opencv.zip \
    && mv opencv-${OPENCV_VERSION} opencv \
    && unzip -qq opencv_contrib.zip \
    && mv opencv_contrib-${OPENCV_VERSION} opencv_contrib \
    && mkdir opencv/build \
    && cd opencv/build \
    && opencv_cmake_flags="-D CMAKE_BUILD_TYPE=RELEASE \
    -D BUILD_DOCS=OFF \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    -D BUILD_JAVA=OFF \
    -D BUILD_opencv_apps=OFF \
    -D BUILD_opencv_aruco=OFF \
    -D BUILD_opencv_bgsegm=OFF \
    -D BUILD_opencv_bioinspired=OFF \
    -D BUILD_opencv_ccalib=OFF \
    -D BUILD_opencv_datasets=OFF \
    -D BUILD_opencv_dnn_objdetect=OFF \
    -D BUILD_opencv_dpm=OFF \
    -D BUILD_opencv_fuzzy=OFF \
    -D BUILD_opencv_hfs=OFF \
    -D BUILD_opencv_java_bindings_generator=OFF \
    -D BUILD_opencv_js=OFF \
    -D BUILD_opencv_img_hash=OFF \
    -D BUILD_opencv_line_descriptor=OFF \
    -D BUILD_opencv_optflow=OFF \
    -D BUILD_opencv_phase_unwrapping=OFF \
    -D BUILD_opencv_python3=OFF \
    -D BUILD_opencv_python_bindings_generator=OFF \
    -D BUILD_opencv_reg=OFF \
    -D BUILD_opencv_rgbd=OFF \
    -D BUILD_opencv_saliency=OFF \
    -D BUILD_opencv_shape=OFF \
    -D BUILD_opencv_stereo=OFF \
    -D BUILD_opencv_stitching=OFF \
    -D BUILD_opencv_structured_light=OFF \
    -D BUILD_opencv_superres=OFF \
    -D BUILD_opencv_surface_matching=OFF \
    -D BUILD_opencv_ts=OFF \
    -D BUILD_opencv_xobjdetect=OFF \
    -D BUILD_opencv_xphoto=OFF \
    -D WITH_VTK=OFF \
    -D CMAKE_INSTALL_PREFIX=$LIB_PREFIX \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules" \
    && cmake $opencv_cmake_flags .. \
    && make -j $(getconf _NPROCESSORS_ONLN) \
    && cd /opencv/opencv/build \
    && sudo make install \
    && cd / \
    && rm -rf /opencv \
    && /usr/glibc-compat/sbin/ldconfig \
    && apk del .build-dependencies \
    && rm -rf /var/cache/apk/* /usr/share/man /usr/local/share/man /tmp/*

My question

How to correctly install OpenCV in Docker? Other Dockerfile setups are always welcome!

Edit

Right before the sudo make install, inside the Dockerfile, I tried to create the folder manually by executing mkdir /usr/local/lib/cmake/opencv4.

The result:

mkdir: can't create directory '/usr/local/lib/cmake/opencv4': No such file or directory

I'm now going to replace mkdir /usr/local/lib/cmake/opencv4 with the following command: mkdir -p /usr/local/lib/cmake/opencv4



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source