Skip to content

Instantly share code, notes, and snippets.

@rob-p
Created June 13, 2020 02:17
Show Gist options
  • Save rob-p/f0967c6d4594a17d09b7ecbf77bb6c86 to your computer and use it in GitHub Desktop.
Save rob-p/f0967c6d4594a17d09b7ecbf77bb6c86 to your computer and use it in GitHub Desktop.
Dockerfile to reproduce jemalloc segfault with pufferfish
# image: COMBINE-lab/salmon
# This dockerfile is based on the one created by
# Titus Brown (available at https://github.com/ctb/2015-docker-building/blob/master/salmon/Dockerfile)
FROM centos:latest
ENV PACKAGES git gcc make g++ liblzma-dev libbz2-dev \
ca-certificates zlib1g-dev libcurl4-openssl-dev curl unzip autoconf apt-transport-https ca-certificates gnupg software-properties-common wget
ENV SALMON_VERSION 1.2.1
# salmon binary will be installed in /home/salmon/bin/salmon
### don't modify things below here for version updates etc.
RUN dnf clean all && rm -r /var/cache/dnf && dnf upgrade -y && dnf update -y
RUN dnf clean all && rm -r /var/cache/dnf && dnf upgrade -y && dnf update -y
WORKDIR /home
RUN dnf -y -v install bzip2-libs
RUN dnf -y -v install epel-release
RUN rm -r /var/cache/dnf
RUN dnf -y -v install zlib-devel
RUN dnf -y -v group install "Development Tools"
RUN dnf -y -v install cmake
RUN dnf -y -v install xz-devel
RUN dnf -y -v install bzip2-devel
RUN curl -k -L https://github.com/jemalloc/jemalloc/archive/5.2.1.tar.gz -o jemalloc-5.2.1.tar.gz
RUN tar -xzf jemalloc-5.2.1.tar.gz
WORKDIR /home/jemalloc-5.2.1
RUN ./autogen.sh --enable-log --enable-fill --enable-debug
RUN make -j8
RUN make install
RUN dnf -y -v install curl
RUN dnf -y -v install wget
RUN dnf -y install tbb-devel
WORKDIR /home
RUN curl -k -L https://github.com/COMBINE-lab/pufferfish/archive/develop.tar.gz -o pufferfish-develop.tar.gz
RUN tar xzvf pufferfish-develop.tar.gz
RUN cd pufferfish-develop
WORKDIR /home/pufferfish-develop
RUN mkdir build
RUN cd build
WORKDIR /home/pufferfish-develop/build
RUN wget https://github.com/COMBINE-lab/salmon/raw/master/sample_data.tgz
RUN tar xzvf sample_data.tgz
RUN cmake ..
RUN make -j8 pufferfish
ENV PATH /home/salmon-${SALMON_VERSION}/bin:${PATH}
ENV LD_LIBRARY_PATH "/usr/local/lib:${LD_LIBRARY_PATH}"
RUN echo "export PATH=$PATH" > /etc/environment
RUN echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" > /etc/environment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment