The following error occurs as a result of Python 2.7 being used for scons when Python 3.6 or newer scons must be used:
command from script:
"scons build/ARM/arch/arm/generated/inst-constrs-3.o"
Error:
Python 3.6 or greater required, but you have Python 2.7.17
Python 3 is now required.
The following are steps to compile gem5 in Python 3 environment,
Step 1: ensure Python 3 is installed. On Ubuntu like systems, you can try this command:
sudo apt-get install python3 python-is-python3 python3-pydot
To run Python 3 from a container, you can try the Docker files in util/dockerfiles folder.
Step 2: ensure that scons is run in the Python 3 environment. If scons isn't run automatically with Python 3, you can force it by replacing scons by the following phrase,
/usr/bin/env python3 $(which scons)
For example, the following command will let scons compile gem5/X86 in the Python 3 environment,
/usr/bin/env python3 $(which scons) build/X86/gem5.opt
(Optional) For convenience reasons, you can set up an alias for the Python3 scons phrase in your environment.
Fix
Make sure that python3 is installed in the docker image and that the specific scons used is for python3
The following error occurs as a result of Python 2.7 being used for scons when Python 3.6 or newer scons must be used:
command from script:
"scons build/ARM/arch/arm/generated/inst-constrs-3.o"
Error:
Python 3.6 or greater required, but you have Python 2.7.17
Python 3 is now required.
The following are steps to compile gem5 in Python 3 environment,
Step 1: ensure Python 3 is installed. On Ubuntu like systems, you can try this command:
To run Python 3 from a container, you can try the Docker files in util/dockerfiles folder.
Step 2: ensure that scons is run in the Python 3 environment. If scons isn't run automatically with Python 3, you can force it by replacing
sconsby the following phrase,For example, the following command will let scons compile gem5/X86 in the Python 3 environment,
/usr/bin/env python3 $(which scons) build/X86/gem5.opt
(Optional) For convenience reasons, you can set up an alias for the Python3 scons phrase in your environment.
Fix
Make sure that python3 is installed in the docker image and that the specific scons used is for python3