dockerfile cleanup

This commit is contained in:
James Cherry 2020-11-02 18:15:35 -08:00
parent beacc138b7
commit c43b426d49
4 changed files with 17 additions and 151 deletions

View File

@ -4,18 +4,30 @@ LABEL maintainer="James Cherry <cherry@parallaxsw.com>"
# Install dev and runtime dependencies # Install dev and runtime dependencies
RUN yum group install -y "Development Tools" \ RUN yum group install -y "Development Tools" \
&& yum install -y https://centos7.iuscommunity.org/ius-release.rpm \ && yum install -y https://repo.ius.io/ius-release-el7.rpm \
&& yum install -y wget git centos-release-scl devtoolset-8 \ && yum install -y centos-release-scl \
&& yum install -y wget devtoolset-8 \
&& yum install -y qt5-qtbase-devel \
devtoolset-8-libatomic-devel tcl-devel tcl tk libstdc++ tk-devel pcre-devel \ devtoolset-8-libatomic-devel tcl-devel tcl tk libstdc++ tk-devel pcre-devel \
python36u python36u-libs python36u-devel python36u-pip && \
yum clean -y all && \ yum clean -y all && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
ENV CC=/opt/rh/devtoolset-8/root/usr/bin/gcc \
CPP=/opt/rh/devtoolset-8/root/usr/bin/cpp \
CXX=/opt/rh/devtoolset-8/root/usr/bin/g++ \
PATH=/opt/rh/devtoolset-8/root/usr/bin:$PATH \
LD_LIBRARY_PATH=/opt/rh/devtoolset-8/root/usr/lib64:/opt/rh/devtoolset-8/root/usr/lib:/opt/rh/devtoolset-8/root/usr/lib64/dyninst:/opt/rh/devtoolset-8/root/usr/lib/dyninst:/opt/rh/devtoolset-8/root/usr/lib64:/opt/rh/devtoolset-8/root/usr/lib:$LD_LIBRARY_PATH
# Install CMake # Install CMake
RUN wget https://cmake.org/files/v3.14/cmake-3.14.0-Linux-x86_64.sh && \ RUN wget https://cmake.org/files/v3.14/cmake-3.14.0-Linux-x86_64.sh && \
chmod +x cmake-3.14.0-Linux-x86_64.sh && \ chmod +x cmake-3.14.0-Linux-x86_64.sh && \
./cmake-3.14.0-Linux-x86_64.sh --skip-license --prefix=/usr/local && rm -rf cmake-3.14.0-Linux-x86_64.sh \ ./cmake-3.14.0-Linux-x86_64.sh --skip-license --prefix=/usr/local && rm -rf cmake-3.14.0-Linux-x86_64.sh \
&& yum clean -y all && yum clean -y all
# Install any git version > 2.6.5
RUN yum remove -y git* && yum install -y git224
# Install SWIG # Install SWIG
RUN yum remove -y swig \ RUN yum remove -y swig \
&& wget https://github.com/swig/swig/archive/rel-4.0.1.tar.gz \ && wget https://github.com/swig/swig/archive/rel-4.0.1.tar.gz \
@ -48,7 +60,7 @@ WORKDIR /OpenSTA
RUN mkdir build RUN mkdir build
#RUN cd buld && cmake .. -DCUDD=$HOME/cudd #RUN cd buld && cmake .. -DCUDD=$HOME/cudd
RUN cd build && cmake .. RUN cd build && cmake ..
RUN make -j 4 RUN make -j 8
# Run sta on entry # Run sta on entry
ENTRYPOINT ["OpenSTA/app/sta"] ENTRYPOINT ["OpenSTA/app/sta"]

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
set -x set -x
set -e set -e
docker build -t openroad/opensta --target base-dependencies . cmake -B build .
docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd):/OpenSTA openroad/opensta bash -c "./OpenSTA/jenkins/install.sh" cmake --build build -j 8

View File

@ -1,73 +0,0 @@
FROM centos:centos7 AS base-dependencies
LABEL maintainer="Abdelrahman Hosny <abdelrahman_hosny@brown.edu>"
# Install dev and runtime dependencies
RUN yum group install -y "Development Tools" \
&& yum install -y https://centos7.iuscommunity.org/ius-release.rpm \
&& yum install -y wget git centos-release-scl devtoolset-8 \
devtoolset-8-libatomic-devel tcl-devel tcl tk libstdc++ tk-devel pcre-devel \
python36u python36u-libs python36u-devel python36u-pip && \
yum clean -y all && \
rm -rf /var/lib/apt/lists/*
# Install gcc 4.9
RUN curl -O https://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz \
&& tar xzf gcc-4.9.2.tar.gz \
&& cd gcc-4.9.2 \
&& ./contrib/download_prerequisites \
&& cd .. \
&& mkdir gcc-build \
&& cd gcc-build \
&& ../gcc-4.9.2/configure \
--prefix=/usr \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--disable-multilib \
--enable-languages=all \
&& make -j$(nproc) \
&& make install \
&& cd .. \
&& rm -rf gcc-4.9.2 \
&& rm -rf gcc-4.9.2.tar.gz \
&& rm -rf gcc-build
# Install CMake
RUN wget https://cmake.org/files/v3.14/cmake-3.14.0-Linux-x86_64.sh && \
chmod +x cmake-3.14.0-Linux-x86_64.sh && \
./cmake-3.14.0-Linux-x86_64.sh --skip-license --prefix=/usr/local && rm -rf cmake-3.14.0-Linux-x86_64.sh \
&& yum clean -y all
# Install epel repo
RUN wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
yum install -y epel-release-latest-7.noarch.rpm && rm -rf epel-release-latest-7.noarch.rpm \
&& yum clean -y all
# Install SWIG
RUN yum remove -y swig \
&& wget https://github.com/swig/swig/archive/rel-4.0.1.tar.gz \
&& tar xfz rel-4.0.1.tar.gz \
&& rm -rf rel-4.0.1.tar.gz \
&& cd swig-rel-4.0.1 \
&& ./autogen.sh && ./configure --prefix=/usr && make -j $(nproc) && make install \
&& cd .. \
&& rm -rf swig-rel-4.0.1
# Temporarily add boost till all dependent tools are updated..
RUN yum install -y boost-devel && \
yum clean -y all && \
rm -rf /var/lib/apt/lists/*
FROM base-dependencies AS builder
COPY . /OpenROAD
WORKDIR /OpenROAD
# Build
RUN mkdir build
RUN cd build && cmake .. && make -j 4

View File

@ -1,73 +0,0 @@
FROM centos:centos7 AS base-dependencies
LABEL maintainer="Abdelrahman Hosny <abdelrahman_hosny@brown.edu>"
# Install dev and runtime dependencies
RUN yum group install -y "Development Tools" \
&& yum install -y https://centos7.iuscommunity.org/ius-release.rpm \
&& yum install -y wget git centos-release-scl devtoolset-8 \
devtoolset-8-libatomic-devel tcl-devel tcl tk libstdc++ tk-devel pcre-devel \
python36u python36u-libs python36u-devel python36u-pip && \
yum clean -y all && \
rm -rf /var/lib/apt/lists/*
# Install gcc 7.3
RUN curl -O https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz \
&& tar xzf gcc-7.3.0.tar.gz \
&& cd gcc-7.3.0 \
&& ./contrib/download_prerequisites \
&& cd .. \
&& mkdir gcc-build \
&& cd gcc-build \
&& ../gcc-7.3.0/configure \
--prefix=/usr \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--disable-multilib \
--enable-languages=all \
&& make -j$(nproc) \
&& make install \
&& cd .. \
&& rm -rf gcc-7.3.0 \
&& rm -rf gcc-7.3.0.tar.gz \
&& rm -rf gcc-build
# Install CMake
RUN wget https://cmake.org/files/v3.14/cmake-3.14.0-Linux-x86_64.sh && \
chmod +x cmake-3.14.0-Linux-x86_64.sh && \
./cmake-3.14.0-Linux-x86_64.sh --skip-license --prefix=/usr/local && rm -rf cmake-3.14.0-Linux-x86_64.sh \
&& yum clean -y all
# Install epel repo
RUN wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
yum install -y epel-release-latest-7.noarch.rpm && rm -rf epel-release-latest-7.noarch.rpm \
&& yum clean -y all
# Install SWIG
RUN yum remove -y swig \
&& wget https://github.com/swig/swig/archive/rel-4.0.1.tar.gz \
&& tar xfz rel-4.0.1.tar.gz \
&& rm -rf rel-4.0.1.tar.gz \
&& cd swig-rel-4.0.1 \
&& ./autogen.sh && ./configure --prefix=/usr && make -j $(nproc) && make install \
&& cd .. \
&& rm -rf swig-rel-4.0.1
# Temporarily add boost till all dependent tools are updated..
RUN yum install -y boost-devel && \
yum clean -y all && \
rm -rf /var/lib/apt/lists/*
FROM base-dependencies AS builder
COPY . /OpenROAD
WORKDIR /OpenROAD
# Build
RUN mkdir build
RUN cd build && cmake .. && make -j 4