website: Document supported dependency and compiler versions - #188
Open
BobbyRBruce wants to merge 26 commits into
Open
website: Document supported dependency and compiler versions#188BobbyRBruce wants to merge 26 commits into
BobbyRBruce wants to merge 26 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Updates gem5 website documentation to reflect the new minimum supported Python version (3.10) and to align build-environment guidance with currently supported Ubuntu versions (22.04/24.04).
Changes:
- Update Learning gem5 Part 1 docs to reference Python 3.10 minimum.
- Update general “Building gem5” docs to state Python 3.10+ support and refresh Ubuntu/Docker guidance accordingly.
- Remove outdated Ubuntu 20.04 setup instructions from the general building guide.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
_pages/documentation/learning_gem5/part1/part1_3_more_complex_config.md |
Updates the documented minimum Python version for scripting guidance. |
_pages/documentation/learning_gem5/part1/part1_1_building.md |
Updates build prerequisites to require Python 3.10+ development headers. |
_pages/documentation/general_docs/building/index.md |
Updates supported Python version text and refreshes Ubuntu/Docker build environment guidance. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
775
to
779
| instead of pyargparse since gem5's minimum Python version used to be | ||
| 2.5. The minimum Python version is now 3.6, so Python's argparse is a better | ||
| 2.5. The minimum Python version is now 3.10, so Python's argparse is a better | ||
| option when writing new scripts that don't need to interact with the | ||
| current gem5 scripts. To get started using :pyoptparse, you can consult | ||
| the online Python documentation. |
Comment on lines
+98
to
102
| The following older images are intended for older gem5 releases whose tags | ||
| match the image tags. | ||
|
|
||
| Ubuntu 22.04 with all optional dependencies: | ||
| [ghcr.io/gem5/ubuntu-22.04_all-dependencies:v23-0]( |
Document support for GCC major versions 11 through 16 and Clang major versions 14 through 22 in the build instructions. This matches the compiler support range now tested in gem5 CI and keeps the website aligned with the Ubuntu LTS dependency policy.
Document SCons 4.0.1 as the minimum supported version. This matches the default package in Ubuntu 22.04, the oldest currently supported Ubuntu LTS release.
Document protobuf 3.12.4 as the minimum supported optional trace dependency. This follows the default package in Ubuntu 22.04, the oldest supported Ubuntu LTS release.
Document Boost 1.74 as the minimum supported optional SystemC dependency. This follows the default Boost package in Ubuntu 22.04, the oldest supported Ubuntu LTS release.
Document Git 2.34.1 as the minimum supported version. This follows the default Git package in Ubuntu 22.04, the oldest supported Ubuntu LTS release.
Ubuntu 22.04 ships zlib 1.2.11, while newer current Ubuntu LTS releases provide newer zlib versions. Document 1.2.11 as the minimum supported version so the build instructions match the oldest supported LTS default.
Ubuntu 22.04 ships GNU m4 1.4.18, while newer current Ubuntu LTS releases provide newer versions. Document 1.4.18 as the minimum supported version for the libelf source generation dependency.
Ubuntu 22.04 ships pkg-config 0.29.2, while newer current Ubuntu LTS releases provide newer pkgconf-compatible packages. Document 0.29.2 as the minimum supported version for optional package discovery.
Ubuntu 22.04 ships libpng 1.6.37, while newer current Ubuntu LTS releases provide newer versions. Document 1.6.37 as the minimum supported version for optional PNG framebuffer output.
Ubuntu 22.04 ships elfutils libelf 0.186, while newer current Ubuntu LTS releases provide newer versions. Document 0.186 as the minimum supported version for the libelf development package named in the build instructions.
Ubuntu 22.04 and 24.04 ship Capstone 4.0.2, while Ubuntu 26.04 ships Capstone 5.0.7. Document 4.0.2 as the minimum supported version for optional disassembly support.
Ubuntu 22.04 ships HDF5 1.10.7, while newer current Ubuntu LTS releases provide newer versions. Document 1.10.7 as the minimum supported version for optional HDF5 statistics output. Also update the Ubuntu package name in the build instructions to libhdf5-dev, which is the development package available on current Ubuntu LTS releases.
Ubuntu 22.04 ships google-perftools 2.9.1, while newer current Ubuntu LTS releases provide newer versions. Document 2.9.1 as the minimum supported version for optional tcmalloc support.
Ubuntu 22.04 ships CMake 3.22.1, while newer current Ubuntu LTS releases provide newer versions. Document 3.22.1 as the minimum supported version for the optional DRAMSys integration.
Ubuntu 22.04 ships Doxygen 1.9.1, while newer current Ubuntu LTS releases provide newer versions. Document 1.9.1 as the minimum supported version for generating source documentation.
Ubuntu 22.04 ships wget 1.21.2, while newer current Ubuntu LTS releases provide newer versions. Document 1.21.2 as the minimum supported version for setup, Docker, and tutorial download flows.
Ubuntu 22.04 ships pydot 1.4.2, while newer current Ubuntu LTS releases provide compatible or newer versions. Document 1.4.2 as the minimum supported version for optional dot graph generation.
Ubuntu 22.04 ships mypy 0.942, while newer current Ubuntu LTS releases provide newer versions. Document 0.942 as the minimum supported version for Python type-checking and stub generation tooling.
Ubuntu 22.04 ships pre-commit 2.17.0, while newer current Ubuntu LTS releases provide newer versions. Document 2.17.0 as the minimum supported version for local style and commit hooks.
Ubuntu 22.04 ships clang-format 14, while newer current Ubuntu LTS releases provide newer versions. Document 14 as the minimum supported version for gem5's formatting hook. Update the Ubuntu 22.04 setup instructions to use the distribution clang-format package instead of the stale clang-format-15 alternative setup.
The Ubuntu 22.04 setup command lagged behind the full set of dependencies documented in the build instructions. Update it to install the same dependency set as the newer Ubuntu instructions using Ubuntu 22.04's default package versions.
The learning gem5 build tutorial still used the legacy python-dev and python packages. Update the command to install python3-dev, matching the Python 3.10 minimum support policy.
Normalize dependency minimums to major.minor granularity instead of documenting patch-level package versions. This keeps the build documentation aligned with the supported-version policy without over-specifying distro patch releases.
BobbyRBruce
added a commit
to BobbyRBruce/gem5
that referenced
this pull request
Aug 30, 2026
Python 3.10 is the oldest major release of Python that is still supported. It is also the default Python installation on Ubuntu 22.04, the oldest Major Ubuntu release that's still supported. Relevant updates to the gem5 website can be found here: gem5/website#188
DRAMSys 5.6 requires CMake 3.25. Align the website requirement with the source build used by the Ubuntu 22.04 dependency image.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is the website companion to gem5 PRs #3281 and #3287.
It updates the build documentation to match gem5's current support policy:
LTS releases.
zlib, GNU m4, pkg-config, libpng, elfutils/libelf, Capstone, HDF5,
google-perftools, Doxygen, wget, pydot, mypy, pre-commit, and clang-format.
integration.
The source changes should merge first so the published documentation does not
precede the corresponding gem5 support changes.
Validation:
git diff --check