ImportError: libGL.so.1 в CentOS - PullRequest
       61

ImportError: libGL.so.1 в CentOS

0 голосов
/ 11 марта 2020

Когда я пытаюсь import cv2 в python, я получаю следующую ошибку:

ImportError: libGL.so.1: cannot open shared object file: No such file or directory

Я нашел эту ветку , в которой предлагалось установить libgl1-mesa-glx, но я ' Мне интересно, доступно ли это только в Ubuntu, потому что я на CentOS, и когда я пытаюсь sudo yum install libgl1-mesa-glx, я получаю No package libgl1-mesa-glx available. Кроме того, когда я добавил установку в свой dockerfile, я получил эту ошибку: The command '/bin/sh -c yum install libgl1-mesa-glx' returned a non-zero code: 1

Затем я нашел то, что выглядело как решение Fedora к той же проблеме, в которой говорилось, что используется mesa-libGL-devel. Когда я sudo yum install mesa-libGL-devel, кажется, что он установлен правильно, но когда я добавил это в свой докер-файл, я получаю The command '/bin/sh -c yum install mesa-libGL-devel' returned a non-zero code: 1.

Что еще мне следует попробовать?

РЕДАКТИРОВАТЬ: Вот файл Docker:

FROM nvidia/cuda:10.1-cudnn7-devel-centos7

WORKDIR /app/
COPY ./*.* ./
ENV CONDA_DIR "/opt/conda"
ENV PATH "$CONDA_DIR"/bin:$PATH
ONBUILD ENV PATH "$CONDA_DIR"/bin:$PATH

RUN  \
   yum -y install epel-release && \
    yum -y update && \
    yum install -y \
    bzip2 \
    curl \
    which \
    libXext \
    libSM \
    libXrender \
    git \
    cuda-nvcc-10-1 \
    openssh-server \
    postgresql-devel \
    yum clean all && rm -rf /var/cache/yum/*


RUN CONDA_VERSION="4.5.1" && \
    curl -L \
       https://repo.continuum.io/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh -o miniconda.sh && \
    mkdir -p "$CONDA_DIR" && \
    bash miniconda.sh -f -b -p "$CONDA_DIR" && \
    echo "export PATH=$CONDA_DIR/bin:\$PATH" > /etc/profile.d/conda.sh && \
    rm miniconda.sh && \
    conda config --add channels conda-forge && \
    conda update -y conda && \
    conda config --set auto_update_conda False && \
    pip install --upgrade pip && \
    pip install -r requirements.txt && \
    rm -rf /root/.cache/pip/* && \
    conda install gdal==2.4.2 tensorflow-gpu numpy==1.16.5


RUN conda env create -f py2_env.yaml
RUN conda env create -f py3_env.yaml

#Add gdal
RUN yum update -y
RUN yum upgrade -y
RUN yum install -y gcc python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev g++

RUN export CPLUS_INCLUDE_PATH=/usr/include/gdal
RUN export C_INCLUDE_PATH=/usr/include/gdal
RUN yum install -y gdal libgdal-dev gdal-devel 
#RUN /opt/conda/envs/py2/bin/pip install gdal==2.4.2
RUN /opt/conda/envs/py3/bin/pip install gdal==2.4.2


RUN /bin/bash -c "conda init bash && source /root/.bashrc && conda activate py2 && conda install -y notebook ipykernel && ipython kernel install --user && conda deactivate"

RUN /bin/bash -c "conda init bash && source /root/.bashrc && conda activate py3 && conda install -y notebook ipykernel && ipython kernel install --user && conda deactivate"
...