From f08f88aac0cdf8b6396a2a65f404a7f34f027949 Mon Sep 17 00:00:00 2001 From: Karl Hallsby Date: Mon, 26 Apr 2021 12:11:47 -0500 Subject: [PATCH 1/7] Update sbt installation Bintray has gone down. SBT's website now provides these as install commands. --- scripts/centos-req.sh | 8 +++++++- scripts/ubuntu-req.sh | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/centos-req.sh b/scripts/centos-req.sh index 89e8644c..c7107dbc 100755 --- a/scripts/centos-req.sh +++ b/scripts/centos-req.sh @@ -4,7 +4,13 @@ set -ex sudo yum groupinstall -y "Development tools" sudo yum install -y gmp-devel mpfr-devel libmpc-devel zlib-devel vim git java java-devel -curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo + +# Install SBT https://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html#Red+Hat+Enterprise+Linux+and+other+RPM-based+distributions +# sudo rm -f /etc/yum.repos.d/bintray-rpm.repo +# Use rm above if sbt installed from bintray before. +curl -L https://www.scala-sbt.org/sbt-rpm.repo > sbt-rpm.repo +sudo mv sbt-rpm.repo /etc/yum.repos.d/ + sudo yum install -y sbt texinfo gengetopt sudo yum install -y expat-devel libusb1-devel ncurses-devel cmake "perl(ExtUtils::MakeMaker)" # deps for poky diff --git a/scripts/ubuntu-req.sh b/scripts/ubuntu-req.sh index 3bc22c73..cb74691e 100755 --- a/scripts/ubuntu-req.sh +++ b/scripts/ubuntu-req.sh @@ -4,8 +4,8 @@ set -ex sudo apt-get install -y build-essential bison flex sudo apt-get install -y libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev vim git default-jdk default-jre -# install sbt: https://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html -echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list +# install sbt: https://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html#Ubuntu+and+other+Debian-based+distributions +echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add sudo apt-get update sudo apt-get install -y sbt From 7228a7f9b45e93b9f293d8dbac5b2f51d432422e Mon Sep 17 00:00:00 2001 From: Karl Hallsby Date: Mon, 26 Apr 2021 12:45:55 -0500 Subject: [PATCH 2/7] Add missing dependency for building verilator on Ubuntu --- scripts/ubuntu-req.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/ubuntu-req.sh b/scripts/ubuntu-req.sh index cb74691e..cbb5230f 100755 --- a/scripts/ubuntu-req.sh +++ b/scripts/ubuntu-req.sh @@ -21,6 +21,7 @@ sudo apt-get install -y python3-pip python3.6-dev rsync libguestfs-tools expat c sudo apt-get install -y device-tree-compiler # install verilator +sudo apt-get install -y autoconf git clone http://git.veripool.org/git/verilator cd verilator git checkout v4.034 From 25f85ffa0e82ceb7b2aab7dc0c186e2dedcfb464 Mon Sep 17 00:00:00 2001 From: Karl Hallsby Date: Mon, 26 Apr 2021 13:50:33 -0500 Subject: [PATCH 3/7] Bump installed versions of python to 3.8 Ubuntu 20.04 LTS (the most recent LTS release) stopped shipping Python 3.6 in their default repositories. Upping it to Python 3.8 does not seem to have broken the design/elaboration process. I tested re-building Chipyard and all its dependencies using this new version, and everything appears to have remained the same. --- scripts/centos-req.sh | 4 ++-- scripts/ubuntu-req.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/centos-req.sh b/scripts/centos-req.sh index 89e8644c..a52aea63 100755 --- a/scripts/centos-req.sh +++ b/scripts/centos-req.sh @@ -8,11 +8,11 @@ curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm sudo yum install -y sbt texinfo gengetopt sudo yum install -y expat-devel libusb1-devel ncurses-devel cmake "perl(ExtUtils::MakeMaker)" # deps for poky -sudo yum install -y python36 patch diffstat texi2html texinfo subversion chrpath git wget +sudo yum install -y python38 patch diffstat texi2html texinfo subversion chrpath git wget # deps for qemu sudo yum install -y gtk3-devel # deps for firemarshal -sudo yum install -y python36-pip python36-devel rsync libguestfs-tools makeinfo expat ctags +sudo yum install -y python38-pip python38-devel rsync libguestfs-tools makeinfo expat ctags # Install GNU make 4.x (needed to cross-compile glibc 2.28+) sudo yum install -y centos-release-scl sudo yum install -y devtoolset-8-make diff --git a/scripts/ubuntu-req.sh b/scripts/ubuntu-req.sh index 3bc22c73..fc149efc 100755 --- a/scripts/ubuntu-req.sh +++ b/scripts/ubuntu-req.sh @@ -12,11 +12,11 @@ sudo apt-get install -y sbt sudo apt-get install -y texinfo gengetopt sudo apt-get install -y libexpat1-dev libusb-dev libncurses5-dev cmake # deps for poky -sudo apt-get install -y python3.6 patch diffstat texi2html texinfo subversion chrpath git wget +sudo apt-get install -y python3.8 patch diffstat texi2html texinfo subversion chrpath git wget # deps for qemu sudo apt-get install -y libgtk-3-dev gettext # deps for firemarshal -sudo apt-get install -y python3-pip python3.6-dev rsync libguestfs-tools expat ctags +sudo apt-get install -y python3-pip python3.8-dev rsync libguestfs-tools expat ctags # install DTC sudo apt-get install -y device-tree-compiler From 67a29f56ab3f4dbea08dcf679f7a57a34fd91555 Mon Sep 17 00:00:00 2001 From: Karl Hallsby Date: Mon, 26 Apr 2021 13:51:59 -0500 Subject: [PATCH 4/7] Use nproc to determine number of cores in CentOS verilator build --- scripts/centos-req.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/centos-req.sh b/scripts/centos-req.sh index c7107dbc..1e2557b7 100755 --- a/scripts/centos-req.sh +++ b/scripts/centos-req.sh @@ -29,4 +29,4 @@ sudo yum install -y dtc git clone http://git.veripool.org/git/verilator cd verilator git checkout v4.034 -autoconf && ./configure && make -j16 && sudo make install +autoconf && ./configure && make -j$(nproc) && sudo make install From d5893adad605b9be9e9ad8a5460b5023f2b9ff25 Mon Sep 17 00:00:00 2001 From: Karl Hallsby Date: Mon, 26 Apr 2021 13:57:47 -0500 Subject: [PATCH 5/7] Install curl in Ubuntu requirements Ubuntu does not ship with curl by default any more. If we are to use curl to install SBT's required information, we must ensure it is available for use on Ubuntu. --- scripts/ubuntu-req.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/ubuntu-req.sh b/scripts/ubuntu-req.sh index cbb5230f..ee3a9de5 100755 --- a/scripts/ubuntu-req.sh +++ b/scripts/ubuntu-req.sh @@ -2,6 +2,7 @@ set -ex +sudo apt-get install -y curl sudo apt-get install -y build-essential bison flex sudo apt-get install -y libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev vim git default-jdk default-jre # install sbt: https://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html#Ubuntu+and+other+Debian-based+distributions From d5541dcffd8cccbd4d9336d93e0ad0d6567c48fa Mon Sep 17 00:00:00 2001 From: Abraham Gonzalez Date: Mon, 3 May 2021 14:03:36 -0700 Subject: [PATCH 6/7] Bump CI image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 805611eb..e60676a8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ parameters: executors: main-env: docker: - - image: ucbbar/chipyard-ci-image:ab57b7d + - image: ucbbar/chipyard-ci-image:c29770 environment: JVM_OPTS: -Xmx3200m # Customize the JVM maximum heap limit From 2dc47f69b88f1be721145db0513dd6891f063411 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Tue, 4 May 2021 15:34:21 -0700 Subject: [PATCH 7/7] Re-check toolchain build --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e60676a8..f3dbf371 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ version: 2.1 parameters: tools-cache-version: type: string - default: "v7" + default: "v8" # default execution env.s executors: