google-deepmind / google-deepmind/alphafold

Dockerfile problem: jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl is not a supported wheel on this platform

Open
#1,017 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
14.9k
Forks
2.9k
PR merge metrics
No merged PRs in 30d

Description

Hi` everyone,

I tried to install AlphaFold and in the building docker image step, it keeps showing error. I tried to change the Dockerfile several times based on other issues reported here, like #321 , #727 . But it still showed error. The latest error showed is

![Screenshot 2024-09-18 200530](https://github.com/user-attachments/assets/9a6ec900-e2da-4598-9d97-dbfc73140453)

```shell
70.21 WARNING: Requirement '/app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl' looks like a filename, but the file does not exist
70.25 ERROR: jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl is not a supported wheel on this platform.
------
Dockerfile:79
--------------------
78 | # Install pip packages.
79 | >>> RUN pip3 install --upgrade pip \
80 | >>> && pip3 install -r /app/alphafold/requirements.txt \
81 | >>> && pip3 install /app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl
82 | # && pip3 install --upgrade jax jaxlib==0.1.69+cuda${CUDA/./} -f \
--------------------

ERROR: failed to solve: process "/bin/bash -c pip3 install --upgrade pip && pip3 install -r /app/alphafold/requirements.txt && pip3 install /app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl" did not complete successfully: exit code: 1
```

Following is my Dockerfile:

```python
# Copyright 2021 DeepMind Technologies Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# ARG CUDA=11.0
# FROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu18.04
#ARG CUDA=11.4.1
ARG CUDA=12.2.2
FROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu20.04
# FROM directive resets ARGS, so we specify again (the value is retained if
# previously set).
ARG CUDA

# Use bash to support string substitution.
SHELL ["/bin/bash", "-c"]

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
build-essential \
cmake \
# cuda-command-line-tools-${CUDA/./-} \
git \
hmmer \
kalign \
tzdata \
wget \
&& rm -rf /var/lib/apt/lists/*

CMD ["wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin"]
CMD ["sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600"]
# CMD ["wget https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.1-470.57.02-1_amd64.deb"]
CMD ["dpkg -i /app/alphafold/cuda-repo-ubuntu2004-11-4-local_11.4.1-470.57.02-1_amd64.deb"]
CMD ["apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub"]
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y cuda

&& ln -s /opt/hhsuite/bin/* /usr/bin \
&& popd \
&& rm -rf /tmp/hh-suite

# Install Miniconda package manager.
RUN wget -q -P /tmp \
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \
&& rm /tmp/Miniconda3-latest-Linux-x86_64.sh

# Install conda packages.
ENV PATH="/opt/conda/bin:$PATH"
RUN conda update -qy conda \
&& conda install -y -c conda-forge \
openmm=7.5.1 \
# cudatoolkit==${CUDA_VERSION} \
pdbfixer \
pip \
# python=3.7
# python=3.10
python=3.9

COPY . /app/alphafold
RUN wget -q -P /app/alphafold/alphafold/common/ \
https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt

# Install pip packages.
RUN pip3 install --upgrade pip \
&& pip3 install -r /app/alphafold/requirements.txt \
&& pip3 install /app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl
# && pip3 install --upgrade jax jaxlib==0.1.69+cuda${CUDA/./} -f \
# https://storage.googleapis.com/jax-releases/jax_releases.html

# Apply OpenMM patch.
WORKDIR /opt/conda/lib/python3.7/site-packages
RUN patch -p0 < /app/alphafold/docker/openmm.patch

# We need to run `ldconfig` first to ensure GPUs are visible, due to some quirk
# with Debian. See https://github.com/NVIDIA/nvidia-docker/issues/1399 for
# details.
# ENTRYPOINT does not support easily running multiple commands, so instead we
# write a shell script to wrap them up.
WORKDIR /app/alphafold
RUN echo $'#!/bin/bash\n\
ldconfig\n\
python /app/alphafold/run_alphafold.py "$@"' > /app/run_alphafold.sh \
&& chmod +x /app/run_alphafold.sh
ENTRYPOINT ["/app/run_alphafold.sh"]
```

My system is Ubuntu 22.04. My python is 3.10.12.

Anyone could please help me to check what is the problem in the Dockerfile? I have changed it so many times and just not able to figure it out.

Thank you!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.