[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] edk2 build scripts: work around TianoCore#1607 without forci
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH] edk2 build scripts: work around TianoCore#1607 without forcing Python 2 |
Date: |
Thu, 19 Sep 2019 18:39:52 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 9/18/19 7:11 PM, Laszlo Ersek wrote:
> It turns out that forcing python2 for running the edk2 "build" utility is
> neither necessary nor sufficient.
>
> Forcing python2 is not sufficient for two reasons:
>
> - QEMU is moving away from python2, with python2 nearing EOL,
>
> - according to my most recent testing, the lacking dependency information
> in the makefiles that are generated by edk2's "build" utility can cause
> parallel build failures even when "build" is executed by python2.
>
> And forcing python2 is not necessary because we can still return to the
> original idea of filtering out jobserver-related options from MAKEFLAGS.
> So do that.
FYI I tried uninstalling python2 on Fedora 29,
$ make -C roms efi -j8
make: Entering directory '/home/phil/source/qemu/roms'
make -C edk2/BaseTools \
EXTRA_OPTFLAGS='' \
EXTRA_LDFLAGS=''
make[1]: Entering directory '/home/phil/source/qemu/roms/edk2/BaseTools'
[...]
make -C Tests
make[2]: Entering directory
'/home/phil/source/qemu/roms/edk2/BaseTools/Tests'
/bin/sh: python: command not found
make[2]: *** [GNUmakefile:11: test] Error 127
'python' seems to be provided by python-unversioned-command which is
wired to Python2:
$ dnf info python-unversioned-command
Last metadata expiration check: 0:03:08 ago on Thu 19 Sep 2019 04:21:21
PM UTC.
Available Packages
Name : python-unversioned-command
Version : 2.7.16
Release : 2.fc29
Arch : noarch
Size : 13 k
Source : python2-2.7.16-2.fc29.src.rpm
Repo : updates
Summary : The "python" command that runs Python 2
URL : https://www.python.org/
License : Python
Description : This package contains /usr/bin/python - the "python"
command that runs Python 2.
I had to manually run update-alternatives to continue:
$ sudo update-alternatives --install /usr/bin/python python
/usr/bin/python3 69
Not sure this is the expected behavior, it is confusing.