From c43b426d49246f9f0646f89bdc406a65b649b83d Mon Sep 17 00:00:00 2001 From: James Cherry Date: Mon, 2 Nov 2020 18:15:35 -0800 Subject: [PATCH] dockerfile cleanup --- Dockerfile | 18 +++++- jenkins/build.sh | 4 +- jenkins/docker/Dockerfile.centos7.gcc-4-9 | 73 ----------------------- jenkins/docker/Dockerfile.centos7.gcc-7-3 | 73 ----------------------- 4 files changed, 17 insertions(+), 151 deletions(-) delete mode 100644 jenkins/docker/Dockerfile.centos7.gcc-4-9 delete mode 100644 jenkins/docker/Dockerfile.centos7.gcc-7-3 diff --git a/Dockerfile b/Dockerfile index 13b1998b..2713d515 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,18 +4,30 @@ LABEL maintainer="James Cherry " # 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 \ + && yum install -y https://repo.ius.io/ius-release-el7.rpm \ + && 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 \ + python36u python36u-libs python36u-devel python36u-pip && \ yum clean -y all && \ 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 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 any git version > 2.6.5 +RUN yum remove -y git* && yum install -y git224 + # Install SWIG RUN yum remove -y swig \ && wget https://github.com/swig/swig/archive/rel-4.0.1.tar.gz \ @@ -48,7 +60,7 @@ WORKDIR /OpenSTA RUN mkdir build #RUN cd buld && cmake .. -DCUDD=$HOME/cudd RUN cd build && cmake .. -RUN make -j 4 +RUN make -j 8 # Run sta on entry ENTRYPOINT ["OpenSTA/app/sta"] diff --git a/jenkins/build.sh b/jenkins/build.sh index 8a23796d..fddf5b68 100755 --- a/jenkins/build.sh +++ b/jenkins/build.sh @@ -1,5 +1,5 @@ #!/bin/bash set -x set -e -docker build -t openroad/opensta --target base-dependencies . -docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd):/OpenSTA openroad/opensta bash -c "./OpenSTA/jenkins/install.sh" +cmake -B build . +cmake --build build -j 8 diff --git a/jenkins/docker/Dockerfile.centos7.gcc-4-9 b/jenkins/docker/Dockerfile.centos7.gcc-4-9 deleted file mode 100644 index 72dcb680..00000000 --- a/jenkins/docker/Dockerfile.centos7.gcc-4-9 +++ /dev/null @@ -1,73 +0,0 @@ -FROM centos:centos7 AS base-dependencies -LABEL maintainer="Abdelrahman Hosny " - -# 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 diff --git a/jenkins/docker/Dockerfile.centos7.gcc-7-3 b/jenkins/docker/Dockerfile.centos7.gcc-7-3 deleted file mode 100644 index 15ba1ed5..00000000 --- a/jenkins/docker/Dockerfile.centos7.gcc-7-3 +++ /dev/null @@ -1,73 +0,0 @@ -FROM centos:centos7 AS base-dependencies -LABEL maintainer="Abdelrahman Hosny " - -# 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