Deprecate support for Ubuntu 20.04

This commit is contained in:
Jordan Carlin 2025-02-03 20:00:51 -08:00
parent b38900c07b
commit c58ec8eb59
No known key found for this signature in database
5 changed files with 18 additions and 26 deletions

View File

@ -36,10 +36,6 @@ jobs:
matrix: matrix:
include: include:
# Ubuntu Installations # Ubuntu Installations
- name: ubuntu-20.04
image: ubuntu:20.04
imageFamily: debian
regressionFail: true
- name: ubuntu-22.04 - name: ubuntu-22.04
image: ubuntu:22.04 image: ubuntu:22.04
imageFamily: debian imageFamily: debian

View File

@ -83,12 +83,12 @@ Then fork and clone the repo, source setup, make the tests and run regression
> This section describes the open source toolchain installation. > This section describes the open source toolchain installation.
### Compatibility ### Compatibility
The current version of the toolchain has been tested on Ubuntu (versions 20.04 LTS, 22.04 LTS, and 24.04 LTS), Debian (versions 11 and 12), Red Hat/Rocky/AlmaLinux (versions 8 and 9), The current version of the toolchain has been tested on Ubuntu (versions 22.04 LTS and 24.04 LTS), Debian (versions 11 and 12), Red Hat/Rocky/AlmaLinux (versions 8 and 9),
and SUSE version 15.6. Only the latest minor release of each major version is tested. and SUSE version 15.6. Only the latest minor release of each major version is tested.
> [!WARNING] > [!WARNING]
> - Ubuntu 22.04LTS is incompatible with Synopsys Design Compiler. > - Ubuntu is incompatible with Synopsys Design Compiler.
> - Verilator currently fails to simulate correctly on Ubuntu 20.04 LTS and Red Hat/Rocky/AlmaLinux 8. > - Verilator currently fails to simulate correctly on Red Hat/Rocky/AlmaLinux 8.
### Overview ### Overview
The toolchain installation script installs the following tools: The toolchain installation script installs the following tools:

View File

@ -4,7 +4,7 @@
## ##
## Written: Jordan Carlin, jcarlin@hmc.edu ## Written: Jordan Carlin, jcarlin@hmc.edu
## Created: 30 June 2024 ## Created: 30 June 2024
## Modified: ## Modified: 3 February 2025 - Deprecate Ubuntu 20.04
## ##
## Purpose: Check for compatible Linux distibution and set variables accordingly ## Purpose: Check for compatible Linux distibution and set variables accordingly
## ##
@ -98,8 +98,12 @@ elif [[ "$ID" == ubuntu || "$ID_LIKE" == *ubuntu* ]]; then
else else
export UBUNTU_VERSION="${VERSION_ID:0:2}" export UBUNTU_VERSION="${VERSION_ID:0:2}"
fi fi
if (( UBUNTU_VERSION < 20 )); then if (( UBUNTU_VERSION < 22 )); then
printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script has only been tested with Ubuntu versions 20.04 LTS, 22.04 LTS, and 24.04 LTS. You have version $VERSION." printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script is only compatible with Ubuntu versions 22.04 LTS and 24.04 LTS. You have version $VERSION."
if (( UBUNTU_VERSION == 20 )); then
printf "${WARNING_COLOR}%s%s\n${ENDC}" "Support for Ubuntu 20.04 was removed after commit b38900c07baab2576d3f62cf1d2e4a729e8a37e5. " \
"You may try insalling using that version, but there will likely be issues (known issues include an incompatible version of git)."
fi
exit 1 exit 1
fi fi
elif [[ "$ID" == debian || "$ID_LIKE" == *debian* ]]; then elif [[ "$ID" == debian || "$ID_LIKE" == *debian* ]]; then
@ -110,7 +114,7 @@ elif [[ "$ID" == debian || "$ID_LIKE" == *debian* ]]; then
fi fi
export DEBIAN_VERSION="$VERSION_ID" export DEBIAN_VERSION="$VERSION_ID"
if (( DEBIAN_VERSION < 11 )); then if (( DEBIAN_VERSION < 11 )); then
printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script has only been tested with Debian versions 11 and 12. You have version $VERSION." printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script is only compatible with Debian versions 11 and 12. You have version $VERSION."
exit 1 exit 1
fi fi
elif [[ "$ID" == opensuse-leap || "$ID" == sles || "$ID_LIKE" == *suse* ]]; then elif [[ "$ID" == opensuse-leap || "$ID" == sles || "$ID_LIKE" == *suse* ]]; then

View File

@ -4,7 +4,7 @@
## ##
## Written: Jordan Carlin, jcarlin@hmc.edu ## Written: Jordan Carlin, jcarlin@hmc.edu
## Created: 30 June 2024 ## Created: 30 June 2024
## Modified: ## Modified: 3 February 2025 - Deprecate Ubuntu 20.04
## ##
## Purpose: Package manager installation for open source tool chain installation script ## Purpose: Package manager installation for open source tool chain installation script
## ##
@ -74,16 +74,13 @@ case "$FAMILY" in
PYTHON_VERSION=python3.12 PYTHON_VERSION=python3.12
elif (( UBUNTU_VERSION >= 22 )); then elif (( UBUNTU_VERSION >= 22 )); then
PYTHON_VERSION=python3.11 PYTHON_VERSION=python3.11
elif (( UBUNTU_VERSION >= 20 )); then
PYTHON_VERSION=python3.9
OTHER_PACKAGES+=(gcc-10 g++-10 cpp-10) # Newer version of gcc needed for Verilator
elif (( DEBIAN_VERSION >= 12 )); then elif (( DEBIAN_VERSION >= 12 )); then
PYTHON_VERSION=python3.11 PYTHON_VERSION=python3.11
elif (( DEBIAN_VERSION >= 11 )); then elif (( DEBIAN_VERSION >= 11 )); then
PYTHON_VERSION=python3.9 PYTHON_VERSION=python3.9
fi fi
# Mold not available in older distros for Verilator, will download binary instead # Mold not available in older distros for Verilator, will download binary instead
if (( UBUNTU_VERSION != 20 && DEBIAN_VERSION != 11 )); then if (( DEBIAN_VERSION != 11 )); then
VERILATOR_PACKAGES+=(mold) VERILATOR_PACKAGES+=(mold)
fi fi
PACKAGE_MANAGER="DEBIAN_FRONTEND=noninteractive apt-get -y" PACKAGE_MANAGER="DEBIAN_FRONTEND=noninteractive apt-get -y"

View File

@ -8,13 +8,14 @@
## Modified: 23 March 2023 ## Modified: 23 March 2023
## Modified: 30 June 2024, Jordan Carlin jcarlin@hmc.edu ## Modified: 30 June 2024, Jordan Carlin jcarlin@hmc.edu
## Modified: 1 September 2024 ## Modified: 1 September 2024
## Modified: 3 February 2025 - Deprecate Ubuntu 20.04
## ##
## Purpose: Open source tool chain installation script ## Purpose: Open source tool chain installation script
## ##
## A component of the CORE-V-WALLY configurable RISC-V project. ## A component of the CORE-V-WALLY configurable RISC-V project.
## https://github.com/openhwgroup/cvw ## https://github.com/openhwgroup/cvw
## ##
## Copyright (C) 2021-24 Harvey Mudd College & Oklahoma State University ## Copyright (C) 2021-25 Harvey Mudd College & Oklahoma State University
## ##
## SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 ## SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
## ##
@ -199,12 +200,6 @@ elif [ "$FAMILY" == suse ]; then
ln -vsf /usr/bin/$f-13 "$RISCV"/gcc-13/bin/$f ln -vsf /usr/bin/$f-13 "$RISCV"/gcc-13/bin/$f
done done
export PATH="$RISCV"/gcc-13/bin:$PATH export PATH="$RISCV"/gcc-13/bin:$PATH
elif (( UBUNTU_VERSION == 20 )); then
mkdir -p "$RISCV"/gcc-10/bin
for f in gcc cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool lto-dump; do
ln -vsf /usr/bin/$f-10 "$RISCV"/gcc-10/bin/$f
done
export PATH="$RISCV"/gcc-10/bin:$PATH
fi fi
@ -231,7 +226,7 @@ source "$RISCV"/riscv-python/bin/activate # reload python virtual environment
echo -e "${SUCCESS_COLOR}Python environment successfully configured!${ENDC}" echo -e "${SUCCESS_COLOR}Python environment successfully configured!${ENDC}"
# Extra dependecies needed for older distros that don't have new enough versions available from package manager # Extra dependecies needed for older distros that don't have new enough versions available from package manager
if (( RHEL_VERSION == 8 )) || (( UBUNTU_VERSION == 20 )); then if (( RHEL_VERSION == 8 )); then
# Newer versin of glib required for QEMU. # Newer versin of glib required for QEMU.
# Anything newer than this won't build on red hat 8 # Anything newer than this won't build on red hat 8
STATUS="glib" STATUS="glib"
@ -272,7 +267,7 @@ if (( RHEL_VERSION == 8 )); then
fi fi
# Mold needed for Verilator # Mold needed for Verilator
if (( UBUNTU_VERSION == 20 || DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ]; then if (( DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ]; then
STATUS="mold" STATUS="mold"
if [ ! -e "$RISCV"/bin/mold ]; then if [ ! -e "$RISCV"/bin/mold ]; then
section_header "Installing mold" section_header "Installing mold"
@ -287,7 +282,7 @@ if (( UBUNTU_VERSION == 20 || DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ];
fi fi
# Newer version of CMake needed to build sail-riscv model (at least 3.20) # Newer version of CMake needed to build sail-riscv model (at least 3.20)
if (( UBUNTU_VERSION == 20 || DEBIAN_VERSION == 11 )); then if (( DEBIAN_VERSION == 11 )); then
STATUS="cmake" STATUS="cmake"
if [ ! -e "$RISCV"/bin/cmake ]; then if [ ! -e "$RISCV"/bin/cmake ]; then
section_header "Installing cmake" section_header "Installing cmake"