При попытке собрать образ Singularity для этого пакета: https://bitbucket.org/MAVERICLab/vcontact2.git
Я получил:
{cut}
I: Configuring login...
I: Configuring adduser...
I: Configuring apt...
I: Configuring util-linux...
I: Configuring mount...
I: Configuring sysvinit-utils...
I: Configuring libc-bin...
I: Unpacking the base system...
W: Failure while installing base packages. This will be re-attempted up to five times.
W: See /usr/local/var/singularity/mnt/container/debootstrap/debootstrap.log for details
У меня есть:
Ошибка выглядит неясной для меня, похоже, что некоторые пакеты недоступны для загрузки. Что я должен попытаться исправить? (Я бы не хотел использовать более новую версию Singularity)
Вы можете получить доступ к debootstrap.log
, чтобы увидеть, что именно не удалось? Я могу воспроизвести ошибку, используя образ докера ubuntu: xenial, хотя debootstrap успешно используется в моей хост-ОС с 18.04 LTS. Однако шаги, связанные с conda, потерпят неудачу.
@tsnowlan Я хотел попробовать Ubuntu 18.04 с использованием контейнера Docker, но это приносит новые проблемы: /usr/sbin/debootstrap: 1455: /usr/sbin/debootstrap: cannot create /usr/local/var/singularity/mnt/container/test-dev-null: Permission denied E: Cannot install into target '/usr/local/var/singularity/mnt/container' mounted with noexec or nodev
При создании изображений сингулярности в докере вы также должны добавить флаг --privileged
к docker run ...
, иначе произойдет сбой, хотя это сообщение об ошибке не выглядит слишком знакомым. Однако процесс сборки по-прежнему не работает для меня, так как в их файле определения есть некоторые проблемы.
Если вы хотите изменить файл определения и использовать другой исходный код начальной загрузки, следующие сборки также успешно собираются в 18.04 LTS и должен в 16.04.
# Use docker instead of debootstrap, could also probably use a newer version if desired
BootStrap: docker
From: ubuntu:xenial
%environment
# note: this only active in `singularity exec` and `singularity run` steps
export PATH=/miniconda3/bin:$PATH
%runscript
exec vcontact "$@"
%post
apt-get update && apt-get install -y automake build-essential bzip2 wget git default-jre unzip
export BINPATH=/usr/local/bin
# Install miniconda to save dependency nightmares
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /miniconda3/
rm Miniconda3-latest-Linux-x86_64.sh
# pull the conda functions in
. /miniconda3/etc/profile.d/conda.sh
# make pip, etc. available while in %post
export PATH = "/miniconda3/bin:$PATH"
conda install -y -c conda-forge hdf5 pytables pypandoc biopython networkx numpy pandas scipy scikit-learn psutil pip
conda install -y -c bioconda mcl blast diamond
pip install setuptools-markdown
# Install vContact
git clone https://bitbucket.org/MAVERICLab/vcontact2.git
cd vcontact2 && pip install .
# Bug with setuptools?
cp /vcontact2/vcontact/data/ViralRefSeq-prokaryotes-v??.* /miniconda3/lib/python3.7/site-packages/vcontact/data/
# 'Install' ClusterONE
cd / && wget http://www.paccanarolab.org/static_content/clusterone/cluster_one-1.0.jar
mv /cluster_one-1.0.jar $BINPATH && chmod +x $BINPATH/cluster_one-1.0.jar
# Clean stuff up
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
conda clean --yes --tarballs --packages --source-cache
# TACC's Stampede compliant, for iVirus/CyVerse
mkdir /home1 && mkdir /scratch && mkdir /work
Я добавляю комментарии к строкам, которые я изменил, но, пожалуйста, дайте мне знать, если это не строится на вашей системе или у вас есть вопросы об изменениях.
Рассмотрите возможность обновления (или попросите администратора кластера обновить) Singularity до версии 2.6.1. Во всех остальных версиях v2 есть значительные уязвимости безопасности. В версии 2.5.2 это CVE-2018-19295, более подробная информация доступна здесь: github.com/sylabs/singularity/releases/tag/2.6.1.