<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:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@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;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsolistparagraph, li.xmsolistparagraph, div.xmsolistparagraph
        {mso-style-name:x_msolistparagraph;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:534386445;
        mso-list-type:hybrid;
        mso-list-template-ids:643861606 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.25in;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.75in;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:2.75in;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.25in;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.25in;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:701636586;
        mso-list-template-ids:711233124;}
@list l2
        {mso-list-id:705177839;
        mso-list-template-ids:86673168;}
@list l2:level1
        {mso-level-start-at:5;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3
        {mso-list-id:1509830782;
        mso-list-template-ids:-1;}
@list l3:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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="blue" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Matthew and Jeremiah,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks for your answers. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D">Cool. So platformBuild.py is intent to handle the additional pre-build and post-build tasks. I think it would be great if there is a document record how to create a PlatformBuild.py.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D">So the command-line arguments for build.py can also work for PlatformBuild.py. right?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D">Where would FamilyBuild.py be located?
<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level1 lfo6">
<![if !supportLists]><span style="color:#1F497D"><span style="mso-list:Ignore">4.<span style="font:7.0pt "Times New Roman"">      
</span></span></span><![endif]><span style="color:#1F497D">Cool. Thanks.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">For 5.2 the error message in BUILD.txt is:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">PROGRESS - Running Pre Build<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Cmd to run is: e:\pythonvenv1\lib\site-packages\edk2toollib\bin\vswhere.exe -latest -nologo -all -property installationPath -products *<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------------Cmd Output Starting---------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------------Cmd Output Finished---------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------- Running Time (mm:ss): 00:00 ----------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Calling 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat amd64'<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Getting host info for host: uname_result(system='Windows', node='sh1gapp1005', release='10', version='10.0.14393', machine='AMD64', processor='Intel64 Family 6 Model 85 Stepping
 4, GenuineIntel')<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Getting host info for host: uname_result(system='Windows', node='sh1gapp1005', release='10', version='10.0.14393', machine='AMD64', processor='Intel64 Family 6 Model 85 Stepping
 4, GenuineIntel')<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Getting host info for host: uname_result(system='Windows', node='sh1gapp1005', release='10', version='10.0.14393', machine='AMD64', processor='Intel64 Family 6 Model 85 Stepping
 4, GenuineIntel')<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Plugin Success: Windows RC Path Support<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Plugin Success: Windows Visual Studio Tool Chain Support<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Writing BuildToolsReports to E:\BobFeng\edk2\Build\Ovmf3264\DEBUG_VS2015x86\BUILD_TOOLS_REPORT<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Plugin Success: Build Tools Report Generator<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">PROGRESS - Running Build DEBUG<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">DEBUG - Getting all build keys for build type DEBUG<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Cmd to run is: build -p OvmfPkg/OvmfPkgIa32X64.dsc -b DEBUG -t VS2015x86 -a IA32 -a X64<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------------Cmd Output Starting---------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Build environment: Windows-10-10.0.14393-SP0<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Build start time: 14:32:35, Dec.03 2019<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - WORKSPACE        = e:\bobfeng\edk2<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - EDK_TOOLS_PATH   = e:\bobfeng\edk2\basetools<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - CONF_PATH        = E:\BobFeng\edk2\Conf<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - PYTHON_COMMAND   = e:\pythonvenv1\scripts\python.exe<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Processing meta-data .<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Architecture(s)  = IA32 X64<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Build target     = DEBUG<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Toolchain        = VS2015x86<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Active Platform          = e:\bobfeng\edk2\OvmfPkg\OvmfPkgIa32X64.dsc<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ........ done!<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Building ... e:\bobfeng\edk2\MdePkg\Library\UefiLib\UefiLib.inf [X64]<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - The system cannot find the path specified.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - build.py...<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -  : error 7000: Failed to execute command<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   Vc\bin\nmake.exe /nologo tbuild [e:\bobfeng\edk2\Build\Ovmf3264\DEBUG_VS2015x86\X64\MdePkg\Library\UefiLib\UefiLib]<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - build.py...<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -  : error F002: Failed to build module<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   e:\bobfeng\edk2\MdePkg\Library\UefiLib\UefiLib.inf [X64, VS2015x86, DEBUG]<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - - Failed -<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Build end time: 14:32:46, Dec.03 2019<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Build total time: 00:00:11<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------------Cmd Output Finished---------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------- Running Time (mm:ss): 00:11 ----------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">ERROR - Compiler #7000 from :   Failed to execute command<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">ERROR - EDK2 #002 from :   Failed to build module<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">CRITICAL - Build failed<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">PROGRESS - End time: 2019-12-03 14:32:47.018063           Total time Elapsed: 0:00:15<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">SECTION - Log file is located at: E:\BobFeng\edk2\Build\BUILDLOG_OvmfPkg.txt<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">SECTION - Summary<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">PROGRESS - Error<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">For 5.3, the error message in UPDATE.txt is:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Cmd to run is: mono /home/bobfeng/.local/lib/python3.6/site-packages/edk2toolext/bin/NuGet.exe locals global-packages -list<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------------Cmd Output Starting---------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - System.AggregateException: One or more errors occurred. ---> System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -    --- End of inner exception stack trace ---<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   at NuGet.CommandLine.Program.Initialize (NuGet.IFileSystem fileSystem, NuGet.CommandLine.IConsole console) [0x000ce] in <a4491e56495b4f4098ef5ac3d5c9f065>:0<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO -   at NuGet.CommandLine.Program.MainCore (System.String workingDirectory, System.String[] args) [0x000d8] in <a4491e56495b4f4098ef5ac3d5c9f065>:0<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ---> (Inner Exception #0) System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ---> (Inner Exception #1) System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ---> (Inner Exception #2) System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ---> (Inner Exception #3) System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ---> (Inner Exception #4) System.IO.FileNotFoundException: Could not load file or assembly or one of its dependencies.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'<---<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - <o:p>
</o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------------Cmd Output Finished---------------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - --------- Running Time (mm:ss): 00:00 ----------<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#1F497D">INFO - ------------------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Bob<o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Matthew Carlson [mailto:macarl@microsoft.com] <br>
<b>Sent:</b> Tuesday, December 3, 2019 12:56 PM<br>
<b>To:</b> Jeremiah Cox <jerecox@microsoft.com>; Feng, Bob C <bob.c.feng@intel.com>; devel@edk2.groups.io; lersek@redhat.com; Sean Brogan <sean.brogan@microsoft.com>; Bret Barkelew <Bret.Barkelew@microsoft.com><br>
<b>Subject:</b> RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hello Bob,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">4. We currently support CLANG and GCC on windows through WSL. I’ve played around with trying to get CLANG on windows native compiling, but we haven’t pushed it into the pytool tools_def and other configuration. You’re welcome to bring your
 own toolsdef and place it in the CONF folder or specify your own special CONF folder rather than the default one. Pytool technically supports any toolchain but right now on Windows it only has the configuration for VS2015-2019. We’re working on a guide to
 use WSL, which is already in pull request.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hopefully that answers your question.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Ma</b>tthew <b>Carl</b>son<o:p></o:p></p>
<p class="MsoNormal">Core UEFI<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a href="mailto:jerecox@microsoft.com">Jeremiah Cox</a><br>
<b>Sent: </b>Monday, December 2, 2019 4:40 PM<br>
<b>To: </b><a href="mailto:bob.c.feng@intel.com">Feng, Bob C</a>; <a href="mailto:devel@edk2.groups.io">
devel@edk2.groups.io</a>; <a href="mailto:lersek@redhat.com">lersek@redhat.com</a>;
<a href="mailto:sean.brogan@microsoft.com">Sean Brogan</a>; <a href="mailto:macarl@microsoft.com">
Matthew Carlson</a>; <a href="mailto:Bret.Barkelew@microsoft.com">Bret Barkelew</a><br>
<b>Subject: </b>RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="xmsonormal">Hi Bob,<o:p></o:p></p>
<p class="xmsonormal">Responses to your questions:<o:p></o:p></p>
<p class="xmsolistparagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo3"><![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Yes, PlatformBuild.py could be seen as a template for a relatively-simple, Pytools platform builder.  I am also working on a more complex example for the Edk2-Platforms Kabylake RVP to demonstrate FSP and FIT related pre and post build
 steps.  The filename PlatformBuild.py is not required, just a convention that we follow. Any Python that overrides UefiBuilder, BuildSettingsManager, UpdateSettingsManager, & SetupSettingsManager would work.  You might view PlatformBuild.py as an extension
 of the EDK2 build system that provides features helpful to build a platform.   Observe that both OvmfPkg and EmulatorPkg include build.sh scripts that provide some pre and post build convenience features.  Regarding MdeModulePkg, the Pytools Platform or UefiBuilder
 could build it, but might not provide compelling value.  Instead, we are leveraging our Pytools CI features to build & test MdeModulePkg and more: 
<o:p></o:p></p>
<p class="xmsolistparagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]><a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Ftree%2Fmaster%2F.pytool&data=02%7C01%7Cmacarl%40microsoft.com%7Cb70aef18b16d46989eb608d777896166%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109304257461242&sdata=Iu%2BkvWdO3Z6VmBCLK3mHDeVQ2k0y7Fz27%2Bf9TXRNvHg%3D&reserved=0">https://github.com/tianocore/edk2/tree/master/.pytool</a><o:p></o:p></p>
<p class="xmsolistparagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]><a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FMdeModulePkg%2FMdeModulePkg.ci.yaml&data=02%7C01%7Cmacarl%40microsoft.com%7Cb70aef18b16d46989eb608d777896166%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109304257461242&sdata=OoPCFX%2FeE%2FSKhZw2NYnIPXxMAy%2BO0hfZHmDBRzBr4fg%3D&reserved=0">https://github.com/tianocore/edk2/blob/master/MdeModulePkg/MdeModulePkg.ci.yaml</a><o:p></o:p></p>
<p class="xmsolistparagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo3"><![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>For the build environment, I believe we start with the current shell environment, add Conf/target.txt, override with environment set in PlatformBuild.py, then the command-line. 
<a href="mailto:sean.brogan@microsoft.com" id="OWAAM80E41AB119FE468CAA1A37C018C16A3FZ">
<span style="text-decoration:none">@Sean Brogan</span></a> & <a href="mailto:macarl@microsoft.com" id="OWAAMCFE50878AB3C4C33B96EE62F9F4CCC29Z">
<span style="text-decoration:none">@Matthew Carlson</span></a> for more details.<o:p></o:p></p>
<p class="xmsolistparagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo3"><![if !supportLists]><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>I am working on an example of building KabylakeOpenBoardPackage
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2-platforms%2Fpull%2F2&data=02%7C01%7Cmacarl%40microsoft.com%7Cb70aef18b16d46989eb608d777896166%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109304257471237&sdata=qALlDJ7sx%2FOo%2FaTcfFF9UZC5uDkLdYpggI2nShh6IbM%3D&reserved=0">
https://github.com/out0xb2/edk2-platforms/pull/2</a> .  Custom pre and post build steps for a platform can be handled in a PlatformBuild.py, for a family they could be in a FamilyBuild.py that is !included in multiple PlatformBuild.py, or common functionality
 could be pushed into plug-ins.  I demonstrate the plug-in model in the Intel Silicon Tools.<o:p></o:p></p>
<p class="xmsolistparagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo3"><![if !supportLists]><span style="mso-list:Ignore">4.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Hmm, I would ask <a href="mailto:sean.brogan@microsoft.com" id="OWAAMCD0257CA03194C2199099B81FB66C26BZ">
<span style="text-decoration:none">@Sean Brogan</span></a> & <a href="mailto:macarl@microsoft.com" id="OWAAM7D19018CA9C5476F8F3CF4A9C1C24940Z">
<span style="text-decoration:none">@Matthew Carlson</span></a><o:p></o:p></p>
<p class="xmsolistparagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo3"><![if !supportLists]><span style="mso-list:Ignore">5.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>We do not currently support VS 2015, only 2017 and 2019.  I’m hearing an ask that we should document our matrix of supported OS/toolchains.  <o:p></o:p></p>
<p class="xmsolistparagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>We have not added support for VS 2015<o:p></o:p></p>
<p class="xmsolistparagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>We would need more details to debug this one, perhaps provide Build\BUILDLOG.txt ?<o:p></o:p></p>
<p class="xmsolistparagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Again, more details are needed, likely available in Build\UPDATE_LOG.txt ? 
<o:p></o:p></p>
<p class="xmsolistparagraph" style="margin-left:1.5in;text-indent:-1.5in"><span style="font-size:7.0pt;font-family:"Times New Roman",serif">                                                              
</span>i.<span style="font-size:7.0pt;font-family:"Times New Roman",serif">      </span>
We have GCC working for Ubuntu in our automation:  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdev.azure.com%2Ftianocore%2Fedk2-ci%2F_build%3FdefinitionId%3D31%26_a%3Dsummary&data=02%7C01%7Cmacarl%40microsoft.com%7Cb70aef18b16d46989eb608d777896166%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109304257471237&sdata=42DOowRAoeUhH6Ob%2FF4w3oxhUlvNbyLueSBQlhsbX5g%3D&reserved=0">
https://dev.azure.com/tianocore/edk2-ci/_build?definitionId=31&_a=summary</a><o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
<p class="xmsonormal">If there is a good time early morning or later afternoon for a Skype call and screen sharing, we might be able to close on these issues faster.  Let me know if you have suggestions.<o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
<p class="xmsonormal">Thanks,<o:p></o:p></p>
<p class="xmsonormal">Jeremiah<o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="xmsonormal"><b>From: </b><a href="mailto:bob.c.feng@intel.com">Feng, Bob C</a><br>
<b>Sent: </b>Thursday, November 28, 2019 18:50<br>
<b>To: </b><a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; <a href="mailto:lersek@redhat.com">
lersek@redhat.com</a>; <a href="mailto:jerecox@microsoft.com">Jeremiah Cox</a><br>
<b>Subject: </b>[EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools<o:p></o:p></p>
</div>
<p class="xmsonormal"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Jeremiah,<br>
<br>
I have some questions for this change.<br>
1. Will there be a PlatformBuild.py in any platform as your design? For example there will be a PlatformBuild.py in MdeModulePkg, EmulatorPkg and etc. And this PlatformBuild.py can be seen as a template?<br>
2. The original build options can be set either from PlatformBuild.py CommonPlatform class or set from command line, is it right?<br>
3. There is another build scripts edk2-platforms\Platform\Intel\build_bios.py for build Min-Platforms. Can PlatformBuild.py work together with it?
<br>
4. Dose the pytools support clang on windows?<br>
5. I tried this patch on my local machines, but build failed with pytools and your change.
<br>
1) One windows machine only installed VS2015,  vswhere can't detect VS2015.<br>
2) Another windows machine installed VS2015 and VS2017, vswhere can find VS2017, but build failed with the messages<br>
    build.py...<br>
INFO -  : error 7000: Failed to execute command<br>
INFO -  Vc\bin\nmake.exe<br>
<br>
3) I have a Ubuntu 18.04 machine, build failed at the step of "stuart_update -c OvmfPkg/PlatformBuild.py" with the error messages:<br>
    File "/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/edk2toolext/environment/extdeptypes/nuget_dependency.py", line 180, in fetch<br>
    if self._fetch_from_cache(package_name):<br>
  File "/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/edk2toolext/environment/extdeptypes/nuget_dependency.py", line 113, in _fetch_from_cache<br>
    if not os.path.isdir(NugetDependency.global_cache_path):<br>
  File "/usr/lib/python3.6/genericpath.py", line 42, in isdir<br>
    st = os.stat(s)<br>
<br>
Thanks,<br>
Bob<br>
<br>
-----Original Message-----<br>
From: <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a> [<a href="mailto:devel@edk2.groups.io">mailto:devel@edk2.groups.io</a>] On Behalf Of Laszlo Ersek<br>
Sent: Wednesday, November 27, 2019 5:29 PM<br>
To: <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>; <a href="mailto:jerecox@microsoft.com">
jerecox@microsoft.com</a><br>
Subject: Re: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools<br>
<br>
Hi Jeremiah,<br>
<br>
On 11/27/19 01:03, Jeremiah Cox via Groups.Io wrote:<br>
> All,<br>
> I created an example of how to build OvmfPkg using the Pytools build environment (
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=02%7C01%7Cmacarl%40microsoft.com%7Cb70aef18b16d46989eb608d777896166%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109304257481231&sdata=zZjE0VbNvHkv%2FpexBAvQHCRM47ZoGxyXCrPnpRcVJ%2Fg%3D&reserved=0">
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&amp;data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&amp;sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&amp;reserved=0</a>
 ).<br>
> It is available for your feedback on GitHub:<br>
> <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=02%7C01%7Cmacarl%40microsoft.com%7Cb70aef18b16d46989eb608d777896166%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109304257481231&sdata=bnn%2FZyJjYmgOHSlXqGmWwTIYChTy9wgZPZPNhw9CUNg%3D&reserved=0">
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&amp;data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&amp;sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&amp;reserved=0</a><br>
> <br>
> Looking for your thoughts on integrating this example into EDK2.<br>
<br>
This patch set seems to target the edk2 repository, and at least in part OvmfPkg. Please submit the patch set to the list for review.<br>
<br>
Thanks<br>
Laszlo<br>
<br>
<br>
<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/51583">View/Reply Online (#51583)</a> |


  


|


  
    <a target="_blank" href="https://groups.io/mt/65641370/1813853">Mute This Topic</a>
  

| <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>



<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>