From: Peter Maydell <peter.mayd...@linaro.org> Our Python scripts require Python 2 and will fail on Python 3, eg: File "/home/petmay01/linaro/qemu-from-laptop/qemu/scripts/qapi-commands.py", line 378 except getopt.GetoptError, err: ^ SyntaxError: invalid syntax
Add a check to configure that Python is not a Python 3, so we can fail with a comprehensible error rather than an obscure one. Reported-by: Boris Matti <swif...@lavabit.com> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> --- configure | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/configure b/configure index b392c6f..1d94acd 100755 --- a/configure +++ b/configure @@ -1242,6 +1242,14 @@ if ! has $python; then exit 1 fi +# Note that if the Python conditional here evaluates True we will exit +# with status 1 which is a shell 'false' value. +if ! "$python" -c 'import sys; sys.exit(sys.version_info[0] >= 3)'; then + echo "Python 2 required but '$python' is version 3 or better." + echo "Use --python=/path/to/python to specify a Python 2." + exit 1 +fi + if test -z "$target_list" ; then target_list="$default_target_list" else -- 1.7.9.5