<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The array object in Python 3.9 no longer supports fromstring() and tostring() methods. EDK2 BaseTools use these methods, and therefore the EDK2 build fails when using Python 3.9. See the trace below.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<br>
Sergey<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">build.py...<o:p></o:p></p>
<p class="MsoNormal">: error C0DE: Tools code failure<o:p></o:p></p>
<p class="MsoNormal">        Please send email to devel@edk2.groups.io for help, attaching following call stack trace!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Traceback (most recent call last):<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\GenFds.py", line 371, in GenFdsApi<o:p></o:p></p>
<p class="MsoNormal">    GenFds.GenFd('', FdfParserObj, BuildWorkSpace, ArchList)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\GenFds.py", line 510, in GenFd<o:p></o:p></p>
<p class="MsoNormal">    FdObj.GenFd()<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\Fd.py", line 131, in GenFd<o:p></o:p></p>
<p class="MsoNormal">    RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\Region.py", line 134, in AddToBuffer<o:p></o:p></p>
<p class="MsoNormal">    FvObj.AddToBuffer(FvBuffer, FvBaseAddress, BlockSize, BlockNum, ErasePolarity, Flag=Flag)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\Fv.py", line 127, in AddToBuffer<o:p></o:p></p>
<p class="MsoNormal">    FileName = FfsFile.GenFfs(MacroDict, FvParentAddr=BaseAddress, IsMakefile=Flag, FvName=self.UiFvName)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\FfsFileStatement.py", line 153, in GenFfs<o:p></o:p></p>
<p class="MsoNormal">    sectList, align = section.GenSection(OutputDir, self.NameGuid, SecIndex, self.KeyStringList, None, Dict)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\GuidSection.py", line 95, in GenSection<o:p></o:p></p>
<p class="MsoNormal">    ReturnSectList, align = Sect.GenSection(OutputPath, ModuleName, SecIndex, KeyStringList, FfsInf, Dict, IsMakefile=IsMakefile)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\FvImageSection.py", line 108, in GenSection<o:p></o:p></p>
<p class="MsoNormal">    FvFileName = Fv.AddToBuffer(Buffer, self.FvAddr, MacroDict = Dict, Flag=IsMakefile)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\Fv.py", line 127, in AddToBuffer<o:p></o:p></p>
<p class="MsoNormal">    FileName = FfsFile.GenFfs(MacroDict, FvParentAddr=BaseAddress, IsMakefile=Flag, FvName=self.UiFvName)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\FfsFileStatement.py", line 153, in GenFfs<o:p></o:p></p>
<p class="MsoNormal">    sectList, align = section.GenSection(OutputDir, self.NameGuid, SecIndex, self.KeyStringList, None, Dict)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\UiSection.py", line 70, in GenSection<o:p></o:p></p>
<p class="MsoNormal">    GenFdsGlobalVariable.GenerateSection(OutputFile, None, 'EFI_SECTION_USER_INTERFACE', Ui=NameString, IsMakefile=IsMakefile)<o:p></o:p></p>
<p class="MsoNormal">  File "C:\edk2-upx\edk2\BaseTools\Source\Python\GenFds\GenFdsGlobalVariable.py", line 466, in GenerateSection<o:p></o:p></p>
<p class="MsoNormal">    SectionData.fromstring(Ui.encode("utf_16_le"))<o:p></o:p></p>
<p class="MsoNormal">AttributeError: 'array.array' object has no attribute 'fromstring'<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/68668">View/Reply Online (#68668)</a> |    |  <a target="_blank" href="https://groups.io/mt/78859177/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>