fixing build

This commit is contained in:
Edward Arthur Bingham 2024-06-21 20:02:39 +00:00
parent de5a94bb6f
commit d83c9b1a71
3 changed files with 40 additions and 52 deletions

View File

@ -22,16 +22,14 @@ RUN make install
# install Trilinos # install Trilinos
WORKDIR /toolsrc WORKDIR /toolsrc
# basic dependencies # basic dependencies
RUN apt-get install -y gcc g++ gfortran make flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y \
# building from git repo dependencies sudo wget gcc g++ gfortran make bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool \
RUN apt-get install -y autoconf automake git autoconf automake git \
# parallel dependencies libhwloc15 libopenmpi-dev openmpi-bin openmpi-common \
RUN apt-get install -y libhwloc15 libopenmpi-dev openmpi-bin openmpi-common python3 python3-pip libpython3-all-dev
# install python RUN wget https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-x86_64.sh
RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y python3 pip RUN bash cmake-3.29.6-linux-x86_64.sh --prefix=/usr/local --exclude-subdir --skip-license
RUN apt-get remove -y cmake; pip install cmake --upgrade
RUN apt-get install -y bison # cmake
RUN git clone --depth=1 https://github.com/trilinos/Trilinos.git --branch trilinos-release-15-1-1 RUN git clone --depth=1 https://github.com/trilinos/Trilinos.git --branch trilinos-release-15-1-1
RUN git clone --depth=1 https://github.com/Xyce/Xyce.git --branch Release-7.8.0 RUN git clone --depth=1 https://github.com/Xyce/Xyce.git --branch Release-7.8.0
@ -69,7 +67,6 @@ RUN make install
WORKDIR /toolsrc WORKDIR /toolsrc
RUN git clone --recursive https://www.github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git RUN git clone --recursive https://www.github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git
WORKDIR OpenROAD-flow-scripts WORKDIR OpenROAD-flow-scripts
RUN apt-get install -y sudo libpython3.11
RUN SUDO_USER="root" ./setup.sh RUN SUDO_USER="root" ./setup.sh
RUN ./build_openroad.sh --local --install-path /opt/openroad --nice RUN ./build_openroad.sh --local --install-path /opt/openroad --nice
RUN mv dependencies /opt/or-tools RUN mv dependencies /opt/or-tools
@ -77,9 +74,8 @@ RUN mv dependencies /opt/or-tools
# install ACT # install ACT
WORKDIR /toolsrc WORKDIR /toolsrc
RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make libboost-all-dev RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make libboost-all-dev
RUN git clone https://www.github.com/asyncvlsi/actflow.git RUN git clone --recursive https://www.github.com/asyncvlsi/actflow.git
WORKDIR actflow WORKDIR actflow
RUN git submodule update --init --recursive
ENV ACT_HOME=/opt/cad ENV ACT_HOME=/opt/cad
ENV VLSI_TOOLS_SRC=/toolsrc/actflow ENV VLSI_TOOLS_SRC=/toolsrc/actflow
WORKDIR actsim WORKDIR actsim
@ -117,9 +113,8 @@ RUN apt-get install -y graphviz
# install Haystack # install Haystack
RUN echo "Haystack" RUN echo "Haystack"
WORKDIR /toolsrc WORKDIR /toolsrc
RUN git clone https://github.com/broccolimicro/haystack.git --branch v0.2.2 RUN git clone --recursive https://github.com/broccolimicro/haystack.git --branch v0.2.2
WORKDIR haystack WORKDIR haystack
RUN git submodule update --init --recursive
WORKDIR lib WORKDIR lib
RUN make RUN make
WORKDIR ../bin WORKDIR ../bin
@ -175,18 +170,11 @@ RUN make install
ADD share/* /opt/cad/share ADD share/* /opt/cad/share
# setup python venv
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3.10-venv
RUN python3 -m venv /opt/python
RUN source /opt/python/bin/activate
ENV PATH="/opt/python/bin:$PATH"
# install floret # install floret
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libqhull-dev zlib1g-dev python3.10-dev tup RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libqhull-dev zlib1g-dev
WORKDIR /toolsrc WORKDIR /toolsrc
RUN git clone https://github.com/broccolimicro/floret.git RUN git clone --recursive https://github.com/broccolimicro/floret.git --branch v1.1.2
WORKDIR floret WORKDIR floret
RUN git submodule update --init --recursive
RUN make RUN make
RUN cp floret-linux /opt/cad/bin/floret RUN cp floret-linux /opt/cad/bin/floret
@ -195,7 +183,7 @@ FROM ubuntu:jammy
SHELL ["/bin/bash", "-c"] SHELL ["/bin/bash", "-c"]
RUN mkdir toolsrc RUN mkdir toolsrc
RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get -y install wget make gcc g++ gfortran make cmake autoconf automake git libhwloc15 libopenmpi-dev openmpi-bin openmpi-common python3 pip bison libgtk-3-dev libcanberra-gtk3-module gtkwave tcsh m4 csh libx11-dev tcl-dev tk-dev libcairo2-dev mesa-common-dev libglu1-mesa-dev libncurses-dev libedit-dev zlib1g-dev m4 git gcc g++ make libboost-all-dev graphviz sudo vim flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool; apt-get update --fix-missing RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get -y install wget make gcc g++ gfortran make cmake autoconf automake git libhwloc15 libopenmpi-dev openmpi-bin openmpi-common python3 python3-pip bison libgtk-3-dev libcanberra-gtk3-module gtkwave tcsh m4 csh libx11-dev tcl-dev tk-dev libcairo2-dev mesa-common-dev libglu1-mesa-dev libncurses-dev libedit-dev zlib1g-dev m4 git gcc g++ make libboost-all-dev graphviz sudo vim flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool; apt-get update --fix-missing
WORKDIR /toolsrc WORKDIR /toolsrc
COPY --from=0 /toolsrc/OpenROAD-flow-scripts/etc/DependencyInstaller.sh /toolsrc/etc/DependencyInstaller.sh COPY --from=0 /toolsrc/OpenROAD-flow-scripts/etc/DependencyInstaller.sh /toolsrc/etc/DependencyInstaller.sh

23
ubuntu/build.sh Normal file → Executable file
View File

@ -11,11 +11,12 @@ mkdir $SCRIPT_PATH/cad
# Xyce and Trilinos takes the longest to execute, in the interest of caching, this should go first. # Xyce and Trilinos takes the longest to execute, in the interest of caching, this should go first.
# install Trilinos # install Trilinos
apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y \
wget gcc g++ gfortran make bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool \ sudo wget gcc g++ gfortran make bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool \
autoconf automake git \ autoconf automake git \
libhwloc15 libopenmpi-dev openmpi-bin openmpi-common \ libhwloc15 libopenmpi-dev openmpi-bin openmpi-common \
python3 pip python3 python3-pip libpython3-all-dev
apt-get remove -y cmake; pip install cmake --upgrade wget https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-x86_64.sh
bash cmake-3.29.6-linux-x86_64.sh --prefix=/usr/local --exclude-subdir --skip-license
cd $SCRIPT_PATH/toolsrc cd $SCRIPT_PATH/toolsrc
git clone --depth=1 https://github.com/trilinos/Trilinos.git --branch trilinos-release-15-1-1 git clone --depth=1 https://github.com/trilinos/Trilinos.git --branch trilinos-release-15-1-1
@ -55,7 +56,6 @@ make install
cd $SCRIPT_PATH/toolsrc cd $SCRIPT_PATH/toolsrc
git clone --recursive https://www.github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git git clone --recursive https://www.github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git
cd OpenROAD-flow-scripts cd OpenROAD-flow-scripts
apt-get install -y sudo libpython3.11
SUDO_USER="root" ./setup.sh SUDO_USER="root" ./setup.sh
./build_openroad.sh --local --install-path $SCRIPT_PATH/openroad --nice ./build_openroad.sh --local --install-path $SCRIPT_PATH/openroad --nice
mv dependencies $SCRIPT_PATH/or-tools mv dependencies $SCRIPT_PATH/or-tools
@ -89,9 +89,8 @@ cp prsim/prsim chan.py measure.py sim2vcd.py tlint/tlint spi2act/spi2act.py v2ac
apt-get install -y graphviz apt-get install -y graphviz
# install Haystack # install Haystack
echo "building haystack"
cd $SCRIPT_PATH/toolsrc cd $SCRIPT_PATH/toolsrc
git clone --recursive https://github.com/nbingham1/haystack.git --branch v0.1.2 git clone --recursive https://github.com/nbingham1/haystack.git --branch v0.2.2
cd haystack cd haystack
cd lib cd lib
make make
@ -116,7 +115,7 @@ GOPATH=$SCRIPT_PATH/go $SCRIPT_PATH/go/bin/go install golang.org/x/lint/golint@l
# install gaw # install gaw
apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y libgtk-3-dev libcanberra-gtk3-module apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y libgtk-3-dev libcanberra-gtk3-module
cd $SCRIPT_PATH/toolsrc cd $SCRIPT_PATH/toolsrc
git clone https://git.broccolimicro.io/Broccoli/waveview.git git clone https://github.com/broccolimicro/waveview.git
cd waveview cd waveview
./configure --prefix=$SCRIPT_PATH/cad ./configure --prefix=$SCRIPT_PATH/cad
make make
@ -148,16 +147,10 @@ make install
ADD ../share/* $SCRIPT_PATH/cad/share ADD ../share/* $SCRIPT_PATH/cad/share
# setup python venv
DEBIAN_FRONTEND=noninteractive apt-get install -y python3.10-venv
python3 -m venv $SCRIPT_PATH/python
source $SCRIPT_PATH/python/bin/activate
export PATH="$SCRIPT_PATH/python/bin:$PATH"
# install floret # install floret
DEBIAN_FRONTEND=noninteractive apt-get install -y libqhull-dev zlib1g-dev python3.10-dev tup DEBIAN_FRONTEND=noninteractive apt-get install -y libqhull-dev zlib1g-dev tup
cd $SCRIPT_PATH/toolsrc cd $SCRIPT_PATH/toolsrc
git clone --recursive https://github.com/broccolimicro/floret.git git clone --recursive https://github.com/broccolimicro/floret.git --branch v1.1.2
cd floret cd floret
make make
cp floret-linux $SCRIPT_PATH/cad/bin/floret cp floret-linux $SCRIPT_PATH/cad/bin/floret

7
ubuntu/docker.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
if [[ $1 == "start" ]]; then
docker run -i --rm -d -v $(pwd):/host --name "ubuntu" -e DISPLAY=$DISPLAY ubuntu:latest
else
docker exec -it "ubuntu" /bin/bash
fi