Andrea T.
Andrea T.

Reputation: 950

Building singularity image: "Failure while installing base packages"

When trying to build the Singularity image for this package: https://bitbucket.org/MAVERICLab/vcontact2.git

I get:

{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

I have:

The error look obscure to me, looks like some packages were not available for download. What should I try to fix this? (I'd like not to use a newer version of Singularity)

Upvotes: 0

Views: 977

Answers (1)

tsnowlan
tsnowlan

Reputation: 3772

If you're willing to modify the definition file and use a different bootstrap source, the following builds successfully on 18.04 LTS and should on 16.04 as well.

# 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

I put comments on the lines I changed, but please let me know if this doesn't build on your system or have questions about the changes.

Upvotes: 1

Related Questions