I had no idea I was engaging so many people.
The problem has resolved to a Python versioning issue, and has been solved. This was aggravated by the fact that when Python is invoked by issuing a shell command to ‘call’ a *.py file, the mapping
to python version follows the Windows shell when one of the EDK shell variables is not initialized – I think it was PYTHON_COMMAND, but I don’t remember. Basically, Windows has an opinion about which Python to invoke when BUILD.BAT executes this line:
@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %* .
So, I was bitten by a Python
😝
Thanks to all of you for your assistance. UEFI spelunking can be a lonely art. It’s nice to meet other travelers.
Eric
Oh, and I was using tag 202002. We don’t need no steenkin’ upgrades!
From: gaoliming <gaoliming@byosoft.com.cn>
Sent: Wednesday, May 19, 2021 7:24 PM
To: devel@edk2.groups.io; bret.barkelew@microsoft.com; 'Hernandez Miramontes, Jose Miguel' <jose.miguel.hernandez.miramontes@intel.com>; Fowler, Eric (Mondo International, LLC) <Fowler_Eric@ne.bah.com>
Subject: [External] 回复: [edk2-devel] A plea for help
This issue has been fixed in edk2 trunk. Can you try the latest edk2?
Thanks
Liming
发件人:
devel@edk2.groups.io <devel@edk2.groups.io>
代表
Bret Barkelew via groups.io
发送时间: 2021年5月20日
0:33
收件人: Hernandez Miramontes, Jose Miguel <jose.miguel.hernandez.miramontes@intel.com>;
devel@edk2.groups.io;
Fowler_Eric@ne.bah.com
主题: Re: [edk2-devel] A plea for help
Yup, I was tired. Read the Python version all wrong.
- Bret
From: Hernandez Miramontes, Jose Miguel <jose.miguel.hernandez.miramontes@intel.com>
Sent: Wednesday, May 19, 2021 7:15:30 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>; Bret Barkelew <Bret.Barkelew@microsoft.com>;
Fowler_Eric@ne.bah.com <Fowler_Eric@ne.bah.com>
Subject: [EXTERNAL] RE: [edk2-devel] A plea for help
So, the problem is here.
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\Common\Misc.py", line 1638, in __init__
if ByteArray.tostring() != b'PE\0\0':
see:
https://docs.python.org/3/whatsnew/3.9.html
array.array: tostring() and fromstring() methods have been removed. They were aliases to tobytes() and frombytes(), deprecated since Python 3.2. (Contributed by Victor Stinner in bpo-38916.)
you could try python 3.8 or cherry pick this change.
https://github.com/tianocore/edk2/commit/43bec9ea3d56f3662ede78023baa2a791b66acac
Jose Miguel Hernandez Miramontes
BIOS Engineer
jose.miguel.hernandez.miramontes@intel.com
Intel Corporation
From: devel@edk2.groups.io <devel@edk2.groups.io>
On Behalf Of Bret Barkelew via groups.io
Sent: Wednesday, May 19, 2021 3:12 AM
To: devel@edk2.groups.io;
Fowler_Eric@ne.bah.com
Subject: Re: [edk2-devel] A plea for help
Have you tried the latest Python 3.x?
- Bret
From: Fowler, Eric (Mondo International, LLC) via groups.io
Sent: Wednesday, May 19, 2021 12:41 AM
To: devel@edk2.groups.io
Subject: [EXTERNAL] [edk2-devel] A plea for help
build.py...
: error C0DE: Unknown fatal error when processing [c:\edk2020\district-defend\edk2\MdeModulePkg\Universal\Console\GraphicsConsoleDxe\GraphicsConsoleDxe.inf]
(Please send email to
devel@edk2.groups.io for help, attaching following call stack trace!)
(Python 3.9.5 on win32) Traceback (most recent call last):
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\build\build.py", line 2596, in Main
MyBuild.Launch()
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\build\build.py", line 2391, in Launch
self._MultiThreadBuildPlatform()
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\build\build.py", line 2271, in _MultiThreadBuildPlatform
self.CreateAsBuiltInf()
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\build\build.py", line 2401, in CreateAsBuiltInf
Module.CreateAsBuiltInf()
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\AutoGen\ModuleAutoGen.py", line 1503, in CreateAsBuiltInf
PatchList = parsePcdInfoFromMapFile(
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py", line 59, in parsePcdInfoFromMapFile
return _parseGeneral(lines, efifilepath)
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py", line 174, in _parseGeneral
efisecs = PeImageClass(efifilepath).SectionHeaderList
File "C:\EDK2020\district-defend\edk2\BaseTools\Source\Python\Common\Misc.py", line 1638, in __init__
if ByteArray.tostring() != b'PE\0\0':
AttributeError: 'array.array' object has no attribute 'tostring'
- Failed -
Build end time: 21:15:31, May.18 2021
Build total time: 00:07:11