Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate support for Ubuntu 20.04 #1262

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,6 @@ jobs:
matrix:
include:
# Ubuntu Installations
- name: ubuntu-20.04
image: ubuntu:20.04
imageFamily: debian
regressionFail: true
- name: ubuntu-22.04
image: ubuntu:22.04
imageFamily: debian
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

### 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.

> [!WARNING]
> - Ubuntu 22.04LTS is incompatible with Synopsys Design Compiler.
> - Verilator currently fails to simulate correctly on Ubuntu 20.04 LTS and Red Hat/Rocky/AlmaLinux 8.
> - Ubuntu is incompatible with Synopsys Design Compiler.
> - Verilator currently fails to simulate correctly on Red Hat/Rocky/AlmaLinux 8.

### Overview
The toolchain installation script installs the following tools:
Expand Down
12 changes: 8 additions & 4 deletions bin/wally-distro-check.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
##
## Written: Jordan Carlin, [email protected]
## Created: 30 June 2024
## Modified:
## Modified: 3 February 2025 - Deprecate Ubuntu 20.04
##
## Purpose: Check for compatible Linux distibution and set variables accordingly
##
Expand Down Expand Up @@ -98,8 +98,12 @@ elif [[ "$ID" == ubuntu || "$ID_LIKE" == *ubuntu* ]]; then
else
export UBUNTU_VERSION="${VERSION_ID:0:2}"
fi
if (( UBUNTU_VERSION < 20 )); 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."
if (( UBUNTU_VERSION < 22 )); then
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
fi
elif [[ "$ID" == debian || "$ID_LIKE" == *debian* ]]; then
Expand All @@ -110,7 +114,7 @@ elif [[ "$ID" == debian || "$ID_LIKE" == *debian* ]]; then
fi
export DEBIAN_VERSION="$VERSION_ID"
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
fi
elif [[ "$ID" == opensuse-leap || "$ID" == sles || "$ID_LIKE" == *suse* ]]; then
Expand Down
7 changes: 2 additions & 5 deletions bin/wally-package-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
##
## Written: Jordan Carlin, [email protected]
## Created: 30 June 2024
## Modified:
## Modified: 3 February 2025 - Deprecate Ubuntu 20.04
##
## Purpose: Package manager installation for open source tool chain installation script
##
Expand Down Expand Up @@ -74,16 +74,13 @@ case "$FAMILY" in
PYTHON_VERSION=python3.12
elif (( UBUNTU_VERSION >= 22 )); then
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
PYTHON_VERSION=python3.11
elif (( DEBIAN_VERSION >= 11 )); then
PYTHON_VERSION=python3.9
fi
# 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)
fi
PACKAGE_MANAGER="DEBIAN_FRONTEND=noninteractive apt-get -y"
Expand Down
15 changes: 5 additions & 10 deletions bin/wally-tool-chain-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@
## Modified: 23 March 2023
## Modified: 30 June 2024, Jordan Carlin [email protected]
## Modified: 1 September 2024
## Modified: 3 February 2025 - Deprecate Ubuntu 20.04
##
## Purpose: Open source tool chain installation script
##
## A component of the CORE-V-WALLY configurable RISC-V project.
## 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
##
Expand Down Expand Up @@ -199,12 +200,6 @@ elif [ "$FAMILY" == suse ]; then
ln -vsf /usr/bin/$f-13 "$RISCV"/gcc-13/bin/$f
done
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


Expand All @@ -231,7 +226,7 @@ source "$RISCV"/riscv-python/bin/activate # reload python virtual environment
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
if (( RHEL_VERSION == 8 )) || (( UBUNTU_VERSION == 20 )); then
if (( RHEL_VERSION == 8 )); then
# Newer versin of glib required for QEMU.
# Anything newer than this won't build on red hat 8
STATUS="glib"
Expand Down Expand Up @@ -272,7 +267,7 @@ if (( RHEL_VERSION == 8 )); then
fi

# Mold needed for Verilator
if (( UBUNTU_VERSION == 20 || DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ]; then
if (( DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ]; then
STATUS="mold"
if [ ! -e "$RISCV"/bin/mold ]; then
section_header "Installing mold"
Expand All @@ -287,7 +282,7 @@ if (( UBUNTU_VERSION == 20 || DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ];
fi

# 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"
if [ ! -e "$RISCV"/bin/cmake ]; then
section_header "Installing cmake"
Expand Down