website: Drop support for Python2. Python3.6+ min version
Issue-on: https://gem5.atlassian.net/browse/GEM5-818
Change-Id: I3eff88f1f13168d9069449d1bc6d94105cc2ea5d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5-website/+/43805
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: Bobby R. Bruce <bbruce@ucdavis.edu>
diff --git a/_pages/documentation/general_docs/building/index.md b/_pages/documentation/general_docs/building/index.md
index 91404f5..1c29599 100644
--- a/_pages/documentation/general_docs/building/index.md
+++ b/_pages/documentation/general_docs/building/index.md
@@ -25,15 +25,9 @@
[In later versions of gem5, we hope to more effectively support Mac OS through
improved testing](https://gem5.atlassian.net/browse/GEM5-538).
-As of gem5 20, **building and running gem5 in both Python 2 and Python 3 are
-supported**. When testing gem5 we primarily test using Ubuntu 18.04 with
-Python 2, and Ubuntu 20.04 with Python 3. We would therefore advice, if
-possible, for users to **utilize Python 2 in Ubuntu 18.04 and Python 3 in
-Ubuntu 20.04**. Though we shall eventually
-[drop support for Python 2](https://gem5.atlassian.net/browse/GEM5-347),
-(due to [its retirement](
-http://pyfound.blogspot.com/2019/12/python-2-sunset.html)), we do not intend to
-do so until we receive ample evidence our community has migrated to Python 3.
+As of gem5 21.0, **we support building and running gem5 with Python 3.6+
+only.**. gem5 20.0 was our last version of gem5 to provide support for Python
+2.
If running gem5 in a suitable OS/environment is not possible, we have provided
pre-prepared [Docker](https://www.docker.com/) images which may be used to
@@ -49,9 +43,8 @@
Clang 9 (inclusive).
* **SCons** : gem5 uses SCons as its build environment. SCons 3.0 or greater
must be used.
-* **Python** : gem5 relies on Python development libraries. As of gem5 version
-20, gem5 can be compiled and run in environments using either Python 2.7 or
-Python 3
+* **Python 3.6+** : gem5 relies on Python development libraries. gem5 can be
+compiled and run in environments using Python 3.6+.
* **protobuf 2.1+** (Optional): The protobuf library is used for trace
generation and playback.
* **Boost** (Optional): The Boost library is a set of general purpose C++
@@ -66,11 +59,9 @@
```
sudo apt install build-essential git m4 scons zlib1g zlib1g-dev \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
- python-dev python-six python libboost-all-dev pkg-config
+ python3-dev python3-six python libboost-all-dev pkg-config
```
-This will create an environment which uses Python 2.
-
### Setup on Ubuntu 20.04
If compiling gem5 on Ubuntu 20.04, or related Linux distributions, you may
@@ -82,25 +73,23 @@
python3-dev python3-six python-is-python3 libboost-all-dev pkg-config
```
-This will create an environment which uses Python 3.
-
### Docker
For users struggling to setup an environment to build and run gem5, we provide
the following Docker Images:
-Ubuntu 18.04 with all optional dependencies (Python 2):
+Ubuntu 18.04 with all optional dependencies:
[gcr.io/gem5-test/ubuntu-18.04_all-dependencies](
https://gcr.io/gem5-test/ubuntu-18.04_all-dependencies) ([source Dockerfile](
https://gem5.googlesource.com/public/gem5/+/refs/heads/stable/util/dockerfiles/ubuntu-18.04_all-dependencies/Dockerfile)).
-Ubuntu 18.04 with the minimum set of dependencies (Python 2):
+Ubuntu 18.04 with the minimum set of dependencies:
[gcr.io/gem5-test/ubuntu-18.04_min-dependencies](
https://gcr.io/gem5-test/ubuntu-18.04_min-dependencies) ([source Dockerfile](
https://gem5.googlesource.com/public/gem5/+/refs/heads/stable/util/dockerfiles/ubuntu-18.04_min-dependencies/Dockerfile)).
-Ubuntu 20.04 with all optional dependencies (Python 3):
+Ubuntu 20.04 with all optional dependencies:
[gcr.io/gem5-test/ubuntu-20.04_all-dependencies](
https://gcr.io/gem5-test/ubuntu-20.04_all-dependencies) ([source Dockerfile](
https://gem5.googlesource.com/public/gem5/+/refs/heads/stable/util/dockerfiles/ubuntu-20.04_all-dependencies/Dockerfile)).
diff --git a/_pages/documentation/learning_gem5/part1/part1_1_building.md b/_pages/documentation/learning_gem5/part1/part1_1_building.md
index 7e3625e..e300512 100644
--- a/_pages/documentation/learning_gem5/part1/part1_1_building.md
+++ b/_pages/documentation/learning_gem5/part1/part1_1_building.md
@@ -60,12 +60,12 @@
sudo apt install scons
```
-4. Python 2.7+
+4. Python 3.6+
: gem5 relies on the Python development libraries. To install
these on Ubuntu use
```
- sudo apt install python-dev
+ sudo apt install python3-dev
```
5. [protobuf](https://developers.google.com/protocol-buffers/) 2.1+
@@ -78,7 +78,7 @@
generation and playback.
```
- sudo apt install libprotobuf-dev python-protobuf protobuf-compiler libgoogle-perftools-dev
+ sudo apt install libprotobuf-dev protobuf-compiler libgoogle-perftools-dev
```
6. [Boost](https://www.boost.org/) (**Optional**) : The Boost library is a set
@@ -129,7 +129,7 @@
default.
```
-scons build/X86/gem5.opt -j9
+python3 scons build/X86/gem5.opt -j9
```
> **gem5 binary types**
@@ -238,7 +238,7 @@
### Python in a non-default location
-If you use a non-default version of Python, (e.g., version 2.7 when 2.5
+If you use a non-default version of Python, (e.g., version 3.6 when 2.5
is your default), there may be problems when using SCons to build gem5.
RHEL6 version of SCons uses a hardcoded location for Python, which
causes the issue. gem5 often builds successfully in this case, but may
@@ -251,7 +251,7 @@
TypeError: 'dict' object is not callable
To fix this, you can force SCons to use your environment's Python
-version by running `` python `which scons` build/X86/gem5.opt `` instead
+version by running `` python3 `which scons` build/X86/gem5.opt `` instead
of `scons build/X86/gem5.opt`.
### M4 macro processor not installed