This issue has been fixed in Edk2 trunk 20b292d0cdf7dce58d824fdf9ab1613c2a1ad2ec.

 

Edk2 Build supports Python 3.8 & Python3.9 both.

 

Thanks

Liming

发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Andrew Fish via groups.io
发送时间: 2021410 7:54
收件人: edk2-devel-groups-io <devel@edk2.groups.io>; bret.barkelew@microsoft.com
抄送: Shivanshi.Pandya@dell.com
主题: Re: [edk2-devel] Build Failed for QEMU35Pkg

 

 



On Apr 9, 2021, at 1:55 PM, Bret Barkelew via groups.io <bret.barkelew=microsoft.com@groups.io> wrote:

 

It looks like a Python 3.8.x vs 3.9.x issue.

 

 

Do we have a scheme to require a min Python version?

 

Thanks,

 

Andrew Fish



It looks as if you’re using Mu Q35 as your platform. Can you tell me what branch you’re on?

 

- Bret 

 

From: Pandya, Shivanshi via groups.io
Sent: Friday, April 9, 2021 1:52 PM
To: devel@edk2.groups.io
Subject: [EXTERNAL] [edk2-devel] Build Failed for QEMU35Pkg

 

Hello,

 

Build failed with following call trace

 

build.py...

INFO -  : error C0DE: Unknown fatal error when processing [c:\bea\dfci\mu_tiano_platforms\Common\PRM\PrmPkg\Library\DxePrmModuleDiscoveryLib\DxePrmModuleDiscoveryLib.inf [X64, VS2017, DEBUG]]

INFO -

INFO - (Please send email to devel@edk2.groups.io for help, attaching following call stack trace!)

INFO -

INFO - (Python 3.9.0 on win32) Traceback (most recent call last):

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\build\build.py", line 2635, in Main

INFO -     MyBuild.Launch()

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\build\build.py", line 2430, in Launch

INFO -     self._MultiThreadBuildPlatform()

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\build\build.py", line 2238, in _MultiThreadBuildPlatform

INFO -     Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\build\build.py", line 2112, in PerformAutoGen

INFO -     CmdListDict = self._GenFfsCmd(Wa.ArchList)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\build\build.py", line 2009, in _GenFfsCmd

INFO -     GenFfsDict = GenFds.GenFfsMakefile('', GlobalData.gFdfParser, self, ArchList, GlobalData)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\GenFds.py", line 541, in GenFfsMakefile

INFO -     FdObj.GenFd(Flag=True)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\Fd.py", line 131, in GenFd

INFO -     RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\Region.py", line 134, in AddToBuffer

INFO -     FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, ErasePolarity, Flag=Flag)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\Fv.py", line 127, in AddToBuffer

INFO -     FileName = FfsFile.GenFfs(MacroDict, FvParentAddr=BaseAddress, IsMakefile=Flag, FvName=self.UiFvName)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\FfsInfStatement.py", line 518, in GenFfs

INFO -     InputSectList, InputSectAlignments = self.__GenComplexFileSection__(Rule, FvChildAddr, FvParentAddr, IsMakefile=IsMakefile)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\FfsInfStatement.py", line 969, in __GenComplexFileSection__

INFO -     SectList, Align = Sect.GenSection(self.OutputPath, self.ModuleGuid, SecIndex, self.KeyStringList, self, IsMakefile = IsMakefile)

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\EfiSection.py", line 218, in GenSection

INFO -     GenFdsGlobalVariable.GenerateSection(OutputFile, [], 'EFI_SECTION_USER_INTERFACE',

INFO -   File "C:\BEA\DFCI\mu_tiano_platforms\MU_BASECORE\BaseTools\Source\Python\GenFds\GenFdsGlobalVariable.py", line 466, in GenerateSection

INFO -     SectionData.fromstring(Ui.encode("utf_16_le"))

INFO - AttributeError: 'array.array' object has no attribute 'fromstring'

 

Kind Regards,

Shivanshi

 

<79C90400E51C4EC6A197393CD98D0F7A.png>