From fa6abcb9e1ae3518fe4f27b6c689b40b75b6c293 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Mon, 27 Jan 2020 11:58:12 -0700 Subject: [PATCH] dockerfile --- Dockerfile | 68 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index 295a1e27..d67b926f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,32 +1,54 @@ -FROM ubuntu:18.04 -LABEL author="James Cherry" -LABEL maintainer="Abdelrahman Hosny " +FROM centos:centos7 AS base-dependencies +LABEL maintainer="Abdelrahman Hosny " -# install basics -ARG DEBIAN_FRONTEND=noninteractive -RUN apt-get update && \ - apt-get install -y wget apt-utils git cmake gcc tcl-dev swig bison flex +# 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 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 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 # download CUDD -RUN wget https://www.davidkebo.com/source/cudd_versions/cudd-3.0.0.tar.gz && \ - tar -xvf cudd-3.0.0.tar.gz && \ - rm cudd-3.0.0.tar.gz +# RUN wget https://www.davidkebo.com/source/cudd_versions/cudd-3.0.0.tar.gz && \ +# tar -xvf cudd-3.0.0.tar.gz && \ +# rm cudd-3.0.0.tar.gz # install CUDD -RUN cd cudd-3.0.0 && \ - mkdir ../cudd && \ - ./configure --prefix=$HOME/cudd && \ - make && \ - make install +# RUN cd cudd-3.0.0 && \ +# mkdir ../cudd && \ +# ./configure --prefix=$HOME/cudd && \ +# make && \ +# make install -# copy files and install OpenSTA -RUN mkdir OpenSTA -COPY . OpenSTA -RUN cd OpenSTA && \ - mkdir build && \ - cd build && \ - cmake .. -DCUDD=$HOME/cudd && \ - make + +FROM base-dependencies AS builder + +COPY . /OpenSTA +WORKDIR /OpenSTA + +# Build +RUN mkdir build +#RUN cd buld && cmake .. -DCUDD=$HOME/cudd +RUN cd build && cmake .. +RUN make -j 4 # Run sta on entry ENTRYPOINT ["OpenSTA/app/sta"]