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.