fixing build
This commit is contained in:
parent
de5a94bb6f
commit
d83c9b1a71
36
Dockerfile
36
Dockerfile
@ -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
|
||||||
|
49
ubuntu/build.sh
Normal file → Executable file
49
ubuntu/build.sh
Normal file → Executable file
@ -3,7 +3,7 @@
|
|||||||
SCRIPT_PATH="${BASH_SOURCE[0]}";
|
SCRIPT_PATH="${BASH_SOURCE[0]}";
|
||||||
pushd `dirname ${SCRIPT_PATH}` > /dev/null
|
pushd `dirname ${SCRIPT_PATH}` > /dev/null
|
||||||
SCRIPT_PATH=`pwd -P`;
|
SCRIPT_PATH=`pwd -P`;
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
mkdir $SCRIPT_PATH/toolsrc
|
mkdir $SCRIPT_PATH/toolsrc
|
||||||
mkdir $SCRIPT_PATH/cad
|
mkdir $SCRIPT_PATH/cad
|
||||||
@ -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
|
||||||
@ -27,15 +28,15 @@ mkdir build
|
|||||||
cd build
|
cd build
|
||||||
cmake \
|
cmake \
|
||||||
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
|
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
|
||||||
-D CMAKE_C_COMPILER=mpicc \
|
-D CMAKE_C_COMPILER=mpicc \
|
||||||
-D CMAKE_CXX_COMPILER=mpic++ \
|
-D CMAKE_CXX_COMPILER=mpic++ \
|
||||||
-D CMAKE_Fortran_COMPILER=mpif77 \
|
-D CMAKE_Fortran_COMPILER=mpif77 \
|
||||||
-D CMAKE_INSTALL_PREFIX="$SCRIPT_PATH/trilinos" \
|
-D CMAKE_INSTALL_PREFIX="$SCRIPT_PATH/trilinos" \
|
||||||
-D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
|
-D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
|
||||||
-D AMD_LIBRARY_DIRS="/usr/lib" \
|
-D AMD_LIBRARY_DIRS="/usr/lib" \
|
||||||
-D MPI_BASE_DIR="/usr" \
|
-D MPI_BASE_DIR="/usr" \
|
||||||
-C $SCRIPT_PATH/toolsrc/Xyce/cmake/trilinos/trilinos-MPI-base.cmake \
|
-C $SCRIPT_PATH/toolsrc/Xyce/cmake/trilinos/trilinos-MPI-base.cmake \
|
||||||
$SCRIPT_PATH/toolsrc/Trilinos
|
$SCRIPT_PATH/toolsrc/Trilinos
|
||||||
cmake --build . -j 40 -t install
|
cmake --build . -j 40 -t install
|
||||||
|
|
||||||
# install Xyce
|
# install Xyce
|
||||||
@ -44,9 +45,9 @@ cd Xyce
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake \
|
cmake \
|
||||||
-D CMAKE_INSTALL_PREFIX=$SCRIPT_PATH/cad \
|
-D CMAKE_INSTALL_PREFIX=$SCRIPT_PATH/cad \
|
||||||
-D Trilinos_ROOT=$SCRIPT_PATH/trilinos \
|
-D Trilinos_ROOT=$SCRIPT_PATH/trilinos \
|
||||||
$SCRIPT_PATH/toolsrc/Xyce
|
$SCRIPT_PATH/toolsrc/Xyce
|
||||||
cmake --build . -j 16 -t install
|
cmake --build . -j 16 -t install
|
||||||
make xycecinterface
|
make xycecinterface
|
||||||
make install
|
make install
|
||||||
@ -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
7
ubuntu/docker.sh
Executable 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
|
Loading…
Reference in New Issue
Block a user