Hi Matthew and Jeremiah,

Thanks for your answers.


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

2.       So the command-line arguments for build.py can also work for 
PlatformBuild.py. right?

3.       Where would FamilyBuild.py be located?

4.       Cool. Thanks.

For 5.2 the error message in BUILD.txt is:

PROGRESS - Running Pre Build
INFO - Cmd to run is: 
e:\pythonvenv1\lib\site-packages\edk2toollib\bin\vswhere.exe -latest -nologo 
-all -property installationPath -products *
INFO - ------------------------------------------------
INFO - --------------Cmd Output Starting---------------
INFO - ------------------------------------------------
INFO - C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional
INFO - ------------------------------------------------
INFO - --------------Cmd Output Finished---------------
INFO - --------- Running Time (mm:ss): 00:00 ----------
INFO - ------------------------------------------------
DEBUG - Calling 'C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat amd64'
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')
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')
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')
DEBUG - Plugin Success: Windows RC Path Support
DEBUG - Plugin Success: Windows Visual Studio Tool Chain Support
INFO - Writing BuildToolsReports to 
E:\BobFeng\edk2\Build\Ovmf3264\DEBUG_VS2015x86\BUILD_TOOLS_REPORT
DEBUG - Plugin Success: Build Tools Report Generator
PROGRESS - Running Build DEBUG
DEBUG - Getting all build keys for build type DEBUG
INFO - Cmd to run is: build -p OvmfPkg/OvmfPkgIa32X64.dsc -b DEBUG -t VS2015x86 
-a IA32 -a X64
INFO - ------------------------------------------------
INFO - --------------Cmd Output Starting---------------
INFO - ------------------------------------------------
INFO - Build environment: Windows-10-10.0.14393-SP0
INFO - Build start time: 14:32:35, Dec.03 2019
INFO -
INFO - WORKSPACE        = e:\bobfeng\edk2
INFO - EDK_TOOLS_PATH   = e:\bobfeng\edk2\basetools
INFO - CONF_PATH        = E:\BobFeng\edk2\Conf
INFO - PYTHON_COMMAND   = e:\pythonvenv1\scripts\python.exe
INFO -
INFO -
INFO - Processing meta-data .
INFO - Architecture(s)  = IA32 X64
INFO - Build target     = DEBUG
INFO - Toolchain        = VS2015x86
INFO -
INFO - Active Platform          = e:\bobfeng\edk2\OvmfPkg\OvmfPkgIa32X64.dsc
INFO - ........ done!
INFO - Building ... e:\bobfeng\edk2\MdePkg\Library\UefiLib\UefiLib.inf [X64]
INFO - The system cannot find the path specified.
INFO -
INFO -
INFO - build.py...
INFO -  : error 7000: Failed to execute command
INFO -   Vc\bin\nmake.exe /nologo tbuild 
[e:\bobfeng\edk2\Build\Ovmf3264\DEBUG_VS2015x86\X64\MdePkg\Library\UefiLib\UefiLib]
INFO -
INFO -
INFO - build.py...
INFO -  : error F002: Failed to build module
INFO -   e:\bobfeng\edk2\MdePkg\Library\UefiLib\UefiLib.inf [X64, VS2015x86, 
DEBUG]
INFO -
INFO - - Failed -
INFO - Build end time: 14:32:46, Dec.03 2019
INFO - Build total time: 00:00:11
INFO -
INFO - ------------------------------------------------
INFO - --------------Cmd Output Finished---------------
INFO - --------- Running Time (mm:ss): 00:11 ----------
INFO - ------------------------------------------------
ERROR - Compiler #7000 from :   Failed to execute command
ERROR - EDK2 #002 from :   Failed to build module
CRITICAL - Build failed
PROGRESS - End time: 2019-12-03 14:32:47.018063           Total time Elapsed: 
0:00:15
SECTION - Log file is located at: E:\BobFeng\edk2\Build\BUILDLOG_OvmfPkg.txt
SECTION - Summary
PROGRESS - Error

For 5.3, the error message in UPDATE.txt is:

INFO - Cmd to run is: mono 
/home/bobfeng/.local/lib/python3.6/site-packages/edk2toolext/bin/NuGet.exe 
locals global-packages -list
INFO - ------------------------------------------------
INFO - --------------Cmd Output Starting---------------
INFO - ------------------------------------------------
INFO - Could not load file or assembly or one of its dependencies.
INFO -   Could not load file or assembly or one of its dependencies.
INFO -   Could not load file or assembly or one of its dependencies.
INFO -   Could not load file or assembly or one of its dependencies.
INFO -   Could not load file or assembly or one of its dependencies.
INFO - System.AggregateException: One or more errors occurred. ---> 
System.IO.FileNotFoundException: Could not load file or assembly or one of its 
dependencies.
INFO -    --- End of inner exception stack trace ---
INFO -   at NuGet.CommandLine.Program.Initialize (NuGet.IFileSystem fileSystem, 
NuGet.CommandLine.IConsole console) [0x000ce] in 
<a4491e56495b4f4098ef5ac3d5c9f065>:0
INFO -   at NuGet.CommandLine.Program.MainCore (System.String workingDirectory, 
System.String[] args) [0x000d8] in <a4491e56495b4f4098ef5ac3d5c9f065>:0
INFO - ---> (Inner Exception #0) System.IO.FileNotFoundException: Could not 
load file or assembly or one of its dependencies.
INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a'<---
INFO -
INFO - ---> (Inner Exception #1) System.IO.FileNotFoundException: Could not 
load file or assembly or one of its dependencies.
INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a'<---
INFO -
INFO - ---> (Inner Exception #2) System.IO.FileNotFoundException: Could not 
load file or assembly or one of its dependencies.
INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a'<---
INFO -
INFO - ---> (Inner Exception #3) System.IO.FileNotFoundException: Could not 
load file or assembly or one of its dependencies.
INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a'<---
INFO -
INFO - ---> (Inner Exception #4) System.IO.FileNotFoundException: Could not 
load file or assembly or one of its dependencies.
INFO - File name: 'System.Net.Http, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a'<---
INFO -
INFO - ------------------------------------------------
INFO - --------------Cmd Output Finished---------------
INFO - --------- Running Time (mm:ss): 00:00 ----------
INFO - ------------------------------------------------

Thanks,
Bob
From: Matthew Carlson [mailto:mac...@microsoft.com]
Sent: Tuesday, December 3, 2019 12:56 PM
To: Jeremiah Cox <jere...@microsoft.com>; Feng, Bob C <bob.c.f...@intel.com>; 
devel@edk2.groups.io; ler...@redhat.com; Sean Brogan 
<sean.bro...@microsoft.com>; Bret Barkelew <bret.barke...@microsoft.com>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building 
OvmfPkg with Pytools

Hello Bob,

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.

Hopefully that answers your question.

Matthew Carlson
Core UEFI

From: Jeremiah Cox<mailto:jere...@microsoft.com>
Sent: Monday, December 2, 2019 4:40 PM
To: Feng, Bob C<mailto:bob.c.f...@intel.com>; 
devel@edk2.groups.io<mailto:devel@edk2.groups.io>; 
ler...@redhat.com<mailto:ler...@redhat.com>; Sean 
Brogan<mailto:sean.bro...@microsoft.com>; Matthew 
Carlson<mailto:mac...@microsoft.com>; Bret 
Barkelew<mailto:bret.barke...@microsoft.com>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building 
OvmfPkg with Pytools


Hi Bob,

Responses to your questions:

1.       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:

1.       
https://github.com/tianocore/edk2/tree/master/.pytool<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>

2.       
https://github.com/tianocore/edk2/blob/master/MdeModulePkg/MdeModulePkg.ci.yaml<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>

2.       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.  @Sean 
Brogan<mailto:sean.bro...@microsoft.com> & @Matthew 
Carlson<mailto:mac...@microsoft.com> for more details.

3.       I am working on an example of building KabylakeOpenBoardPackage 
https://github.com/out0xb2/edk2-platforms/pull/2<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>
 .  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.

4.       Hmm, I would ask @Sean Brogan<mailto:sean.bro...@microsoft.com> & 
@Matthew Carlson<mailto:mac...@microsoft.com>

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

1.       We have not added support for VS 2015

2.       We would need more details to debug this one, perhaps provide 
Build\BUILDLOG.txt ?

3.       Again, more details are needed, likely available in 
Build\UPDATE_LOG.txt ?

                                                               i.      We have 
GCC working for Ubuntu in our automation:  
https://dev.azure.com/tianocore/edk2-ci/_build?definitionId=31&_a=summary<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>



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.



Thanks,

Jeremiah



From: Feng, Bob C<mailto:bob.c.f...@intel.com>
Sent: Thursday, November 28, 2019 18:50
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; 
ler...@redhat.com<mailto:ler...@redhat.com>; Jeremiah 
Cox<mailto:jere...@microsoft.com>
Subject: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building 
OvmfPkg with Pytools


Hi Jeremiah,

I have some questions for this change.
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?
2. The original build options can be set either from PlatformBuild.py 
CommonPlatform class or set from command line, is it right?
3. There is another build scripts edk2-platforms\Platform\Intel\build_bios.py 
for build Min-Platforms. Can PlatformBuild.py work together with it?
4. Dose the pytools support clang on windows?
5. I tried this patch on my local machines, but build failed with pytools and 
your change.
1) One windows machine only installed VS2015,  vswhere can't detect VS2015.
2) Another windows machine installed VS2015 and VS2017, vswhere can find 
VS2017, but build failed with the messages
    build.py...
INFO -  : error 7000: Failed to execute command
INFO -  Vc\bin\nmake.exe

3) I have a Ubuntu 18.04 machine, build failed at the step of "stuart_update -c 
OvmfPkg/PlatformBuild.py" with the error messages:
    File 
"/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/edk2toolext/environment/extdeptypes/nuget_dependency.py",
 line 180, in fetch
    if self._fetch_from_cache(package_name):
  File 
"/home/bobfeng/PythonVenv1/lib/python3.6/site-packages/edk2toolext/environment/extdeptypes/nuget_dependency.py",
 line 113, in _fetch_from_cache
    if not os.path.isdir(NugetDependency.global_cache_path):
  File "/usr/lib/python3.6/genericpath.py", line 42, in isdir
    st = os.stat(s)

Thanks,
Bob

-----Original Message-----
From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> 
[mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek
Sent: Wednesday, November 27, 2019 5:29 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; 
jere...@microsoft.com<mailto:jere...@microsoft.com>
Subject: Re: [edk2-devel] Seeking feedback: example of building OvmfPkg with 
Pytools

Hi Jeremiah,

On 11/27/19 01:03, Jeremiah Cox via Groups.Io wrote:
> All,
> I created an example of how to build OvmfPkg using the Pytools build 
> environment ( 
> 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<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>
>  ).
> It is available for your feedback on GitHub:
> 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<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>
>
> Looking for your thoughts on integrating this example into EDK2.

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.

Thanks
Laszlo





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51583): https://edk2.groups.io/g/devel/message/51583
Mute This Topic: https://groups.io/mt/65641370/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to