* Seeking feedback: example of building OvmfPkg with Pytools @ 2019-11-27 0:03 Jeremiah Cox 2019-11-27 9:28 ` [edk2-devel] " Laszlo Ersek 0 siblings, 1 reply; 12+ messages in thread From: Jeremiah Cox @ 2019-11-27 0:03 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 330 bytes --] All, I created an example of how to build OvmfPkg using the Pytools build environment ( https://github.com/tianocore/edk2-pytool-extensions ). It is available for your feedback on GitHub: https://github.com/out0xb2/edk2/pull/3/files Looking for your thoughts on integrating this example into EDK2. Thanks, Jeremiah Cox [-- Attachment #2: Type: text/html, Size: 469 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-11-27 0:03 Seeking feedback: example of building OvmfPkg with Pytools Jeremiah Cox @ 2019-11-27 9:28 ` Laszlo Ersek 2019-11-29 2:50 ` Bob Feng 0 siblings, 1 reply; 12+ messages in thread From: Laszlo Ersek @ 2019-11-27 9:28 UTC (permalink / raw) To: devel, jerecox 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://github.com/tianocore/edk2-pytool-extensions ). > It is available for your feedback on GitHub: > https://github.com/out0xb2/edk2/pull/3/files > > 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 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-11-27 9:28 ` [edk2-devel] " Laszlo Ersek @ 2019-11-29 2:50 ` Bob Feng 2019-12-03 0:40 ` [EXTERNAL] " Jeremiah Cox 0 siblings, 1 reply; 12+ messages in thread From: Bob Feng @ 2019-11-29 2:50 UTC (permalink / raw) To: devel@edk2.groups.io, lersek@redhat.com, jerecox@microsoft.com 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] On Behalf Of Laszlo Ersek Sent: Wednesday, November 27, 2019 5:29 PM To: devel@edk2.groups.io; jerecox@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://github.com/tianocore/edk2-pytool-extensions ). > It is available for your feedback on GitHub: > https://github.com/out0xb2/edk2/pull/3/files > > 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 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-11-29 2:50 ` Bob Feng @ 2019-12-03 0:40 ` Jeremiah Cox [not found] ` <MN2PR21MB12620D584417FD5F98564AE6D1420@MN2PR21MB1262.namprd21.prod.outlook.com> 0 siblings, 1 reply; 12+ messages in thread From: Jeremiah Cox @ 2019-12-03 0:40 UTC (permalink / raw) To: Feng, Bob C, devel@edk2.groups.io, lersek@redhat.com, Sean Brogan, Matthew Carlson, Bret Barkelew [-- Attachment #1: Type: text/plain, Size: 6087 bytes --] 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: * https://github.com/tianocore/edk2/tree/master/.pytool * https://github.com/tianocore/edk2/blob/master/MdeModulePkg/MdeModulePkg.ci.yaml 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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com> for more details. 3. I am working on an example of building KabylakeOpenBoardPackage https://github.com/out0xb2/edk2-platforms/pull/2 . 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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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. * We have not added support for VS 2015 * We would need more details to debug this one, perhaps provide Build\BUILDLOG.txt ? * 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 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.feng@intel.com> Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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] On Behalf Of Laszlo Ersek Sent: Wednesday, November 27, 2019 5:29 PM To: devel@edk2.groups.io; jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%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 [-- Attachment #2: Type: text/html, Size: 11198 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <MN2PR21MB12620D584417FD5F98564AE6D1420@MN2PR21MB1262.namprd21.prod.outlook.com>]
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools [not found] ` <MN2PR21MB12620D584417FD5F98564AE6D1420@MN2PR21MB1262.namprd21.prod.outlook.com> @ 2019-12-03 7:47 ` Bob Feng [not found] ` <MN2PR21MB12622D6027E9F93768FA4D79D1420@MN2PR21MB1262.namprd21.prod.outlook.com> 0 siblings, 1 reply; 12+ messages in thread From: Bob Feng @ 2019-12-03 7:47 UTC (permalink / raw) To: Matthew Carlson, Jeremiah Cox, devel@edk2.groups.io, lersek@redhat.com, Sean Brogan, Bret Barkelew [-- Attachment #1: Type: text/plain, Size: 16653 bytes --] 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:macarl@microsoft.com] Sent: Tuesday, December 3, 2019 12:56 PM To: 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> 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:jerecox@microsoft.com> Sent: Monday, December 2, 2019 4:40 PM To: Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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.feng@intel.com> Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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>; jerecox@microsoft.com<mailto:jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&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 [-- Attachment #2: Type: text/html, Size: 40293 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <MN2PR21MB12622D6027E9F93768FA4D79D1420@MN2PR21MB1262.namprd21.prod.outlook.com>]
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools [not found] ` <MN2PR21MB12622D6027E9F93768FA4D79D1420@MN2PR21MB1262.namprd21.prod.outlook.com> @ 2019-12-03 17:51 ` Jeremiah Cox [not found] ` <MN2PR21MB12622C51F53677E34B8C214AD1420@MN2PR21MB1262.namprd21.prod.outlook.com> 0 siblings, 1 reply; 12+ messages in thread From: Jeremiah Cox @ 2019-12-03 17:51 UTC (permalink / raw) To: Matthew Carlson, Feng, Bob C, devel@edk2.groups.io, lersek@redhat.com, Sean Brogan, Bret Barkelew, Matthew Carlson [-- Attachment #1: Type: text/plain, Size: 19746 bytes --] Hi Bob, The 5.2 failure is expected as we do not support VS2015 yet. If suggest adding a feature request here : https://github.com/<https://github.com/tianocore/edk2-pytool-extensions/issues>tianocore<https://github.com/tianocore/edk2-pytool-extensions/issues>/<https://github.com/tianocore/edk2-pytool-extensions/issues>edk2<https://github.com/tianocore/edk2-pytool-extensions/issues>-<https://github.com/tianocore/edk2-pytool-extensions/issues>pytool<https://github.com/tianocore/edk2-pytool-extensions/issues>-extensions/issues<https://github.com/tianocore/edk2-pytool-extensions/issues> Regarding 2. you may need to provide a BLD_ prefix to pass build parameters to the platform builder, refer to my README for an example. In Matt's example for 3, processor family is not x86, but rather a group of products that share common architectural components, for example IceLake generation products might share many components. This is somewhat similar to KabylakeOpenBoardPackage. @Matthew Carlson<mailto:macarl@microsoft.com>, perhaps you could look at the second log in 5.2 above, perhaps we are missing a dependency in our requirements.txt? System.Net.Http? ________________________________ From: Matthew Carlson <macarl@microsoft.com> Sent: Tuesday, December 3, 2019 9:04:08 AM To: Feng, Bob C <bob.c.feng@intel.com>; Jeremiah Cox <jerecox@microsoft.com>; devel@edk2.groups.io <devel@edk2.groups.io>; lersek@redhat.com <lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>; Matthew Carlson <macarl@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hello Bob, 1. Right. We actually have three documents forthcoming on how to move platforms onto edk2 pytools, one on OVMF, one on Raspberry Pi, and another on KabylakeOpenBoardPackage. Jeremiah sent some links to his platform. We’ll have more example platforms and tutorial in the future 2. Yes. All the remaining arguments get passed into the UefiBuilder itself, which parses it and hands it to build.py 3. Where ever makes sense. Since it’s a python file, it can be very flexible. For our platforms using pytools, it generally goes PROCESSOR FAMIILY | -- ProcessorFamilyPkg | -- ProductNamePkg | | -- PlatformBuild.py 4. Glad to help ?? - Matthew Carlson From: Feng, Bob C<mailto:bob.c.feng@intel.com> Sent: Monday, December 2, 2019 11:47 PM To: Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 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:macarl@microsoft.com] Sent: Tuesday, December 3, 2019 12:56 PM To: 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> 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:jerecox@microsoft.com> Sent: Monday, December 2, 2019 4:40 PM To: Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@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: * 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%7Cjerecox%40microsoft.com%7C1511f29fde7c41c2a23008d77812d01d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109894521816175&sdata=kSNkuw%2BbuuyjLN2SDwl%2B31ebGwSkzwqyU2Ma04AC7ko%3D&reserved=0> * 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%7Cjerecox%40microsoft.com%7C1511f29fde7c41c2a23008d77812d01d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109894521816175&sdata=KVQ2mB2XFMQDTQyW1w%2BuYii7M2cJ94PEJSUeaEbW%2BnQ%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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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%7Cjerecox%40microsoft.com%7C1511f29fde7c41c2a23008d77812d01d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109894521826134&sdata=i%2B9JvKFqqfPosYntX%2BsQVcgvRLFQwktUR2Ryj9FndUM%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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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. * We have not added support for VS 2015 * We would need more details to debug this one, perhaps provide Build\BUILDLOG.txt ? * 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%7Cjerecox%40microsoft.com%7C1511f29fde7c41c2a23008d77812d01d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109894521826134&sdata=BzsmNw%2Fc4kmORRwPp1jkqnsO7HkIsklDPP5C5IM3KOU%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.feng@intel.com> Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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>; jerecox@microsoft.com<mailto:jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=02%7C01%7Cjerecox%40microsoft.com%7C1511f29fde7c41c2a23008d77812d01d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109894521836083&sdata=XO9YORQDx9W7pf%2FSLY5gIwdERHAr0QJMl0cwzwNHseg%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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=02%7C01%7Cjerecox%40microsoft.com%7C1511f29fde7c41c2a23008d77812d01d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109894521836083&sdata=SowrT2KDimKeYkeiMjJx%2BMBHBQL%2Bu6PAeSxrBuS17Ug%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 [-- Attachment #2: Type: text/html, Size: 38897 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <MN2PR21MB12622C51F53677E34B8C214AD1420@MN2PR21MB1262.namprd21.prod.outlook.com>]
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools [not found] ` <MN2PR21MB12622C51F53677E34B8C214AD1420@MN2PR21MB1262.namprd21.prod.outlook.com> @ 2019-12-03 18:11 ` Sean 2019-12-06 2:35 ` Bob Feng 0 siblings, 1 reply; 12+ messages in thread From: Sean @ 2019-12-03 18:11 UTC (permalink / raw) To: Matthew Carlson, Jeremiah Cox, Feng, Bob C, devel@edk2.groups.io, lersek@redhat.com, Bret Barkelew [-- Attachment #1.1: Type: text/plain, Size: 27354 bytes --] Sorry let me clarify. The plugin is not designed to work for the VS2015 toolchain. The plugin is not part of pytools but part of edk2 repo. If you would like to build with VS2017 or VS2019 the plugin will handle your path management. If you are not setting the tool chain on the command line then you should update target.txt to use VS2017. Hope that helps. Thanks Sean From: Matthew Carlson <macarl@microsoft.com> Sent: Tuesday, December 3, 2019 10:08 AM To: 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> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools I can confirm that we don’t currently support VS2015, due to the VsToolChainPlugin. https://github.com/tianocore/edk2/blob/master/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FPlugin%2FWindowsVsToolChain%2FWindowsVsToolChain.py&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552242099&sdata=Ha7ZZXMvRn9VcIKGog5NnIAAK21iPqYCP69eQ4aUhO0%3D&reserved=0> Please file an issue on the GitHub, https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552252099&sdata=ZejB5xQt2PNkf39H%2FQgjmQ3SvKaoJMbKKlxQyrCaRfE%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552252099&sdata=ZejB5xQt2PNkf39H%2FQgjmQ3SvKaoJMbKKlxQyrCaRfE%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552262090&sdata=OBDixNmIELc3gBI%2B1DpwUz%2FLbzXwoJWWF0dRwJJin2I%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552262090&sdata=OBDixNmIELc3gBI%2B1DpwUz%2FLbzXwoJWWF0dRwJJin2I%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552272080&sdata=yX8B4opBI2e3S7NFWpDmO07mNOU%2FgitQ2gVMQA4D3Y8%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552272080&sdata=yX8B4opBI2e3S7NFWpDmO07mNOU%2FgitQ2gVMQA4D3Y8%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552282070&sdata=wbelqpfkwed5r8huSwKjHT9cRFdBLFztFzTmXrMiSpA%3D&reserved=0> so we can track it and discuss the changes 😊 The log looks like it’s missing the VS2015_PREFIX environmental variable (https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/tools_def.template#L59<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FConf%2Ftools_def.template%23L59&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552282070&sdata=Iywje5hre3PwyyQ%2B0IpOso1LLfr292KJ%2BqjFEbgP3lk%3D&reserved=0>), which should be set by the VsToolChain plugin. It’s possible that the TOOL_CHAIN_TAG isn’t specified, but I think it’s much more likely that the prefix isn’t being set by the plugin. Thanks for clarifying my example Jeremiah. Bob, hopefully that makes a little more sense. * Matthew Carlson From: Jeremiah Cox<mailto:jerecox@microsoft.com> Sent: Tuesday, December 3, 2019 9:51 AM To: Matthew Carlson<mailto:macarl@microsoft.com>; Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com> Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hi Bob, The 5.2 failure is expected as we do not support VS2015 yet. If suggest adding a feature request here : https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552292070&sdata=pEcN3%2BN4BH42C%2FsoOylyMfX0nsK62MAQU9%2BfBQYJ990%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552292070&sdata=pEcN3%2BN4BH42C%2FsoOylyMfX0nsK62MAQU9%2BfBQYJ990%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552302064&sdata=EqPmArYZ3qtEEQFUPCA7y06yUtBk7slf%2FOugPtf02M0%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552302064&sdata=EqPmArYZ3qtEEQFUPCA7y06yUtBk7slf%2FOugPtf02M0%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552312058&sdata=k%2BvbZvjZMcl29m8DapTnsyuEGzdjUZ5BoeRKjLEX1DQ%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552312058&sdata=k%2BvbZvjZMcl29m8DapTnsyuEGzdjUZ5BoeRKjLEX1DQ%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552322053&sdata=I%2FjPYtmLMoAakAkKbTfpVNi0BVcNaq1vH0PyyrlDx84%3D&reserved=0> Regarding 2. you may need to provide a BLD_ prefix to pass build parameters to the platform builder, refer to my README for an example. In Matt's example for 3, processor family is not x86, but rather a group of products that share common architectural components, for example IceLake generation products might share many components. This is somewhat similar to KabylakeOpenBoardPackage. @Matthew Carlson<mailto:macarl@microsoft.com>, perhaps you could look at the second log in 5.2 above, perhaps we are missing a dependency in our requirements.txt? System.Net.Http? From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Sent: Tuesday, December 3, 2019 9:04:08 AM To: Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; lersek@redhat.com<mailto:lersek@redhat.com> <lersek@redhat.com<mailto:lersek@redhat.com>>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>>; Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hello Bob, 1. Right. We actually have three documents forthcoming on how to move platforms onto edk2 pytools, one on OVMF, one on Raspberry Pi, and another on KabylakeOpenBoardPackage. Jeremiah sent some links to his platform. We’ll have more example platforms and tutorial in the future 2. Yes. All the remaining arguments get passed into the UefiBuilder itself, which parses it and hands it to build.py 3. Where ever makes sense. Since it’s a python file, it can be very flexible. For our platforms using pytools, it generally goes PROCESSOR FAMIILY | -- ProcessorFamilyPkg | -- ProductNamePkg | | -- PlatformBuild.py 4. Glad to help 😊 - Matthew Carlson From: Feng, Bob C<mailto:bob.c.feng@intel.com> Sent: Monday, December 2, 2019 11:47 PM To: Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 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:macarl@microsoft.com] Sent: Tuesday, December 3, 2019 12:56 PM To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@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:jerecox@microsoft.com> Sent: Monday, December 2, 2019 4:40 PM To: Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@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: * 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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552322053&sdata=FVEbEGQnvk%2FBMJsBxgQ6k072ox9D6rswjWrdXN5PlQM%3D&reserved=0> * 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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552332046&sdata=xhavv2AAtre%2BDicehKQ0CIZVnOvtQ6gtZetU3yMWDXs%3D&reserved=0> 1. 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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com> for more details. 2. 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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552332046&sdata=wn9w%2BmCpCF7ukyYytc3IoW4Ni%2BhsVJMtX3uCb1O6qhI%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. 3. Hmm, I would ask @Sean Brogan<mailto:sean.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com> 4. 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. * We have not added support for VS 2015 * We would need more details to debug this one, perhaps provide Build\BUILDLOG.txt ? * 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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552342040&sdata=dj4IC6pcBAPE0R660WFfDq%2Faw3N%2FBgAMyzCqUNWsWpE%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.feng@intel.com> Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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>; jerecox@microsoft.com<mailto:jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552342040&sdata=2C3dbdBHMUQ%2BxBYuLQcYiQFnQf49G2kw2kxqtJ0ZWsk%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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552352036&sdata=oG4ZdseEo0VyjVF9F4XVzW3ttXtU6bjuJBovRsWVNVE%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 [-- Attachment #1.2: Type: text/html, Size: 58788 bytes --] [-- Attachment #2: image001.png --] [-- Type: image/png, Size: 219 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-12-03 18:11 ` Sean @ 2019-12-06 2:35 ` Bob Feng 2019-12-06 4:39 ` [edk2-devel] " Sean 0 siblings, 1 reply; 12+ messages in thread From: Bob Feng @ 2019-12-06 2:35 UTC (permalink / raw) To: Sean Brogan, Matthew Carlson, Jeremiah Cox, devel@edk2.groups.io, lersek@redhat.com, Bret Barkelew [-- Attachment #1.1: Type: text/plain, Size: 28508 bytes --] Thank you all for your clarification. I agree the pytools does not support VS2015. I change TOOL_CHAIN_TAG to VS2017 in target.txt, build can go further, but stopped at an error: INFO - 'VfrCompile' is not recognized as an internal or external command, INFO - operable program or batch file. Looks BaseTools/Bin/Win32 is not in the PATH. After appending BaseTools/Bin/Win32 to PATH, and changing TOOL_CHAIN_TAG to VS2017, I can build Ovmf successfully. Thanks, Bob From: Sean Brogan [mailto:sean.brogan@microsoft.com] Sent: Wednesday, December 4, 2019 2:11 AM To: Matthew Carlson <macarl@microsoft.com>; Jeremiah Cox <jerecox@microsoft.com>; Feng, Bob C <bob.c.feng@intel.com>; devel@edk2.groups.io; lersek@redhat.com; Bret Barkelew <Bret.Barkelew@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Sorry let me clarify. The plugin is not designed to work for the VS2015 toolchain. The plugin is not part of pytools but part of edk2 repo. If you would like to build with VS2017 or VS2019 the plugin will handle your path management. If you are not setting the tool chain on the command line then you should update target.txt to use VS2017. Hope that helps. Thanks Sean From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Sent: Tuesday, December 3, 2019 10:08 AM To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools I can confirm that we don’t currently support VS2015, due to the VsToolChainPlugin. https://github.com/tianocore/edk2/blob/master/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FPlugin%2FWindowsVsToolChain%2FWindowsVsToolChain.py&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552242099&sdata=Ha7ZZXMvRn9VcIKGog5NnIAAK21iPqYCP69eQ4aUhO0%3D&reserved=0> Please file an issue on the GitHub, https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552252099&sdata=ZejB5xQt2PNkf39H%2FQgjmQ3SvKaoJMbKKlxQyrCaRfE%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552252099&sdata=ZejB5xQt2PNkf39H%2FQgjmQ3SvKaoJMbKKlxQyrCaRfE%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552262090&sdata=OBDixNmIELc3gBI%2B1DpwUz%2FLbzXwoJWWF0dRwJJin2I%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552262090&sdata=OBDixNmIELc3gBI%2B1DpwUz%2FLbzXwoJWWF0dRwJJin2I%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552272080&sdata=yX8B4opBI2e3S7NFWpDmO07mNOU%2FgitQ2gVMQA4D3Y8%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552272080&sdata=yX8B4opBI2e3S7NFWpDmO07mNOU%2FgitQ2gVMQA4D3Y8%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552282070&sdata=wbelqpfkwed5r8huSwKjHT9cRFdBLFztFzTmXrMiSpA%3D&reserved=0> so we can track it and discuss the changes 😊 The log looks like it’s missing the VS2015_PREFIX environmental variable (https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/tools_def.template#L59<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FConf%2Ftools_def.template%23L59&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552282070&sdata=Iywje5hre3PwyyQ%2B0IpOso1LLfr292KJ%2BqjFEbgP3lk%3D&reserved=0>), which should be set by the VsToolChain plugin. It’s possible that the TOOL_CHAIN_TAG isn’t specified, but I think it’s much more likely that the prefix isn’t being set by the plugin. Thanks for clarifying my example Jeremiah. Bob, hopefully that makes a little more sense. - Matthew Carlson From: Jeremiah Cox<mailto:jerecox@microsoft.com> Sent: Tuesday, December 3, 2019 9:51 AM To: Matthew Carlson<mailto:macarl@microsoft.com>; Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com> Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hi Bob, The 5.2 failure is expected as we do not support VS2015 yet. If suggest adding a feature request here : https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552292070&sdata=pEcN3%2BN4BH42C%2FsoOylyMfX0nsK62MAQU9%2BfBQYJ990%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552292070&sdata=pEcN3%2BN4BH42C%2FsoOylyMfX0nsK62MAQU9%2BfBQYJ990%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552302064&sdata=EqPmArYZ3qtEEQFUPCA7y06yUtBk7slf%2FOugPtf02M0%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552302064&sdata=EqPmArYZ3qtEEQFUPCA7y06yUtBk7slf%2FOugPtf02M0%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552312058&sdata=k%2BvbZvjZMcl29m8DapTnsyuEGzdjUZ5BoeRKjLEX1DQ%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552312058&sdata=k%2BvbZvjZMcl29m8DapTnsyuEGzdjUZ5BoeRKjLEX1DQ%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552322053&sdata=I%2FjPYtmLMoAakAkKbTfpVNi0BVcNaq1vH0PyyrlDx84%3D&reserved=0> Regarding 2. you may need to provide a BLD_ prefix to pass build parameters to the platform builder, refer to my README for an example. In Matt's example for 3, processor family is not x86, but rather a group of products that share common architectural components, for example IceLake generation products might share many components. This is somewhat similar to KabylakeOpenBoardPackage. @Matthew Carlson<mailto:macarl@microsoft.com>, perhaps you could look at the second log in 5.2 above, perhaps we are missing a dependency in our requirements.txt? System.Net.Http? From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Sent: Tuesday, December 3, 2019 9:04:08 AM To: Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; lersek@redhat.com<mailto:lersek@redhat.com> <lersek@redhat.com<mailto:lersek@redhat.com>>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>>; Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hello Bob, 1. Right. We actually have three documents forthcoming on how to move platforms onto edk2 pytools, one on OVMF, one on Raspberry Pi, and another on KabylakeOpenBoardPackage. Jeremiah sent some links to his platform. We’ll have more example platforms and tutorial in the future 2. Yes. All the remaining arguments get passed into the UefiBuilder itself, which parses it and hands it to build.py 3. Where ever makes sense. Since it’s a python file, it can be very flexible. For our platforms using pytools, it generally goes PROCESSOR FAMIILY | -- ProcessorFamilyPkg | -- ProductNamePkg | | -- PlatformBuild.py 4. Glad to help 😊 - Matthew Carlson From: Feng, Bob C<mailto:bob.c.feng@intel.com> Sent: Monday, December 2, 2019 11:47 PM To: Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 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:macarl@microsoft.com] Sent: Tuesday, December 3, 2019 12:56 PM To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@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:jerecox@microsoft.com> Sent: Monday, December 2, 2019 4:40 PM To: Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552322053&sdata=FVEbEGQnvk%2FBMJsBxgQ6k072ox9D6rswjWrdXN5PlQM%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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552332046&sdata=xhavv2AAtre%2BDicehKQ0CIZVnOvtQ6gtZetU3yMWDXs%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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552332046&sdata=wn9w%2BmCpCF7ukyYytc3IoW4Ni%2BhsVJMtX3uCb1O6qhI%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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552342040&sdata=dj4IC6pcBAPE0R660WFfDq%2Faw3N%2FBgAMyzCqUNWsWpE%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.feng@intel.com> Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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>; jerecox@microsoft.com<mailto:jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552342040&sdata=2C3dbdBHMUQ%2BxBYuLQcYiQFnQf49G2kw2kxqtJ0ZWsk%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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=02%7C01%7Csean.brogan%40microsoft.com%7Cfde0d4a39caa403f4f5508d7781babaa%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637109932552352036&sdata=oG4ZdseEo0VyjVF9F4XVzW3ttXtU6bjuJBovRsWVNVE%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 [-- Attachment #1.2: Type: text/html, Size: 63700 bytes --] [-- Attachment #2: image002.png --] [-- Type: image/png, Size: 216 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-12-06 2:35 ` Bob Feng @ 2019-12-06 4:39 ` Sean 2019-12-06 6:51 ` Bob Feng 0 siblings, 1 reply; 12+ messages in thread From: Sean @ 2019-12-06 4:39 UTC (permalink / raw) To: Bob Feng, devel [-- Attachment #1: Type: text/plain, Size: 707 bytes --] Bob, Glad to hear it is working for you. A few questions just to make sure something wasn't missed. Did you build edk2 base tools using the process here. https://github.com/out0xb2/edk2/blob/feature/pytoolsForOvmf/OvmfPkg/README-pytools.md#differences-from-edk-classic-build-setup If you follow the process documented it puts a file in the output folder that will trigger pytools to add the folder to the path and set an environment variable as required by edk2 build. If you build the basetools yourself please delete them and use the process above. After doing that you should not need to add basetools/bin/win32 to your path. Please let me know if that doesn't work. Thanks Sean [-- Attachment #2: Type: text/html, Size: 972 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-12-06 4:39 ` [edk2-devel] " Sean @ 2019-12-06 6:51 ` Bob Feng 0 siblings, 0 replies; 12+ messages in thread From: Bob Feng @ 2019-12-06 6:51 UTC (permalink / raw) To: devel@edk2.groups.io, sean.brogan@microsoft.com [-- Attachment #1: Type: text/plain, Size: 1542 bytes --] Hi Sean, You are right. I had a myself built Basetools binaries and did not rebuild them with BaseTools\Edk2ToolsBuild.py. I clean up my edk2 workspace and follow the steps in https://github.com/out0xb2/edk2/blob/feature/pytoolsForOvmf/OvmfPkg/README-pytools.md. Everything goes well. Thanks. I did: python BaseTools\Edk2ToolsBuild.py -t VS2017 stuart_setup -c OvmfPkg\PlatformBuild.py stuart_update -c OvmfPkg\PlatformBuild.py stuart_build -c OvmfPkg\PlatformBuild.py TOOL_CHAIN_TAG=VS2017 Thanks, Bob From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Sean via Groups.Io Sent: Friday, December 6, 2019 12:40 PM To: Feng, Bob C <bob.c.feng@intel.com>; devel@edk2.groups.io Subject: Re: [edk2-devel] [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Bob, Glad to hear it is working for you. A few questions just to make sure something wasn't missed. Did you build edk2 base tools using the process here. https://github.com/out0xb2/edk2/blob/feature/pytoolsForOvmf/OvmfPkg/README-pytools.md#differences-from-edk-classic-build-setup If you follow the process documented it puts a file in the output folder that will trigger pytools to add the folder to the path and set an environment variable as required by edk2 build. If you build the basetools yourself please delete them and use the process above. After doing that you should not need to add basetools/bin/win32 to your path. Please let me know if that doesn't work. Thanks Sean [-- Attachment #2: Type: text/html, Size: 6684 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
@ 2019-12-09 18:46 Jeremiah Cox
2019-12-10 0:11 ` Bob Feng
0 siblings, 1 reply; 12+ messages in thread
From: Jeremiah Cox @ 2019-12-09 18:46 UTC (permalink / raw)
To: Feng, Bob C, Sean Brogan, Matthew Carlson, devel@edk2.groups.io,
lersek@redhat.com, Bret Barkelew
[-- Attachment #1.1: Type: text/plain, Size: 29200 bytes --]
Hi Bob,
Did you build your BaseTools using the recommended “python EDK2\BaseTools\Edk2ToolsBuild.py” ?
This Python script should both build the BaseTools and also create Bin\win32\basetoolsbin_path_env.yaml
Stuart_build should find this path_env.yaml and add BaseTools/Bin/Win32 to the path for you.
Thanks,
Jeremiah
From: Feng, Bob C<mailto:bob.c.feng@intel.com>
Sent: Thursday, December 5, 2019 18:36
To: Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
Thank you all for your clarification.
I agree the pytools does not support VS2015.
I change TOOL_CHAIN_TAG to VS2017 in target.txt, build can go further, but stopped at an error:
INFO - 'VfrCompile' is not recognized as an internal or external command,
INFO - operable program or batch file.
Looks BaseTools/Bin/Win32 is not in the PATH.
After appending BaseTools/Bin/Win32 to PATH, and changing TOOL_CHAIN_TAG to VS2017, I can build Ovmf successfully.
Thanks,
Bob
From: Sean Brogan [mailto:sean.brogan@microsoft.com]
Sent: Wednesday, December 4, 2019 2:11 AM
To: Matthew Carlson <macarl@microsoft.com>; Jeremiah Cox <jerecox@microsoft.com>; Feng, Bob C <bob.c.feng@intel.com>; devel@edk2.groups.io; lersek@redhat.com; Bret Barkelew <Bret.Barkelew@microsoft.com>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
Sorry let me clarify.
The plugin is not designed to work for the VS2015 toolchain. The plugin is not part of pytools but part of edk2 repo.
If you would like to build with VS2017 or VS2019 the plugin will handle your path management.
If you are not setting the tool chain on the command line then you should update target.txt to use VS2017.
Hope that helps.
Thanks
Sean
From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>>
Sent: Tuesday, December 3, 2019 10:08 AM
To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
I can confirm that we don’t currently support VS2015, due to the VsToolChainPlugin. https://github.com/tianocore/edk2/blob/master/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FPlugin%2FWindowsVsToolChain%2FWindowsVsToolChain.py&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965663993576&sdata=1LuZcSz1sb5fDlB4O3vazFDoHL1MnhnvheVdw%2BEHk4A%3D&reserved=0>
Please file an issue on the GitHub, https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664003535&sdata=E901leIZJUaFJcpGWn%2FdCpYj9V5eO%2B0v6zXbYIZYq6I%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664003535&sdata=E901leIZJUaFJcpGWn%2FdCpYj9V5eO%2B0v6zXbYIZYq6I%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664013492&sdata=1%2BPX%2FX1ku4KmXgBt3p%2BKJPjsUdhJkmJv7RCQX01ksNM%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664013492&sdata=1%2BPX%2FX1ku4KmXgBt3p%2BKJPjsUdhJkmJv7RCQX01ksNM%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664023444&sdata=mybO6S%2BnYigfBroDtxEsWhSZGvmo7lEBBAKMkOQtYgg%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664023444&sdata=mybO6S%2BnYigfBroDtxEsWhSZGvmo7lEBBAKMkOQtYgg%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664033403&sdata=3Zu2iYWjh%2FDuruyxt3b2nhigQBTmg0cEz%2B520Untj%2Fg%3D&reserved=0> so we can track it and discuss the changes 😊
The log looks like it’s missing the VS2015_PREFIX environmental variable (https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/tools_def.template#L59<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FConf%2Ftools_def.template%23L59&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664043359&sdata=v4XJJCUzgovqGUpIzFcx8V2qVl9hDMNKnioy14gUKsc%3D&reserved=0>), which should be set by the VsToolChain plugin. It’s possible that the TOOL_CHAIN_TAG isn’t specified, but I think it’s much more likely that the prefix isn’t being set by the plugin.
Thanks for clarifying my example Jeremiah. Bob, hopefully that makes a little more sense.
* Matthew Carlson
From: Jeremiah Cox<mailto:jerecox@microsoft.com>
Sent: Tuesday, December 3, 2019 9:51 AM
To: Matthew Carlson<mailto:macarl@microsoft.com>; Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>
Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
Hi Bob,
The 5.2 failure is expected as we do not support VS2015 yet. If suggest adding a feature request here :
https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664043359&sdata=e%2BJBwLzpwwFcjLErHIrd1Eda2iaB43dTA5jcjCL%2F8Zk%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664053322&sdata=2h7Drcgq%2FEo1x43cGCDyhTzV2Pd2hKuHy2EcLtyEQOE%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664053322&sdata=2h7Drcgq%2FEo1x43cGCDyhTzV2Pd2hKuHy2EcLtyEQOE%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664063279&sdata=2GT0RlQ5qtM8OxcHqaSE1td2BeK1ZqJcn6YpxXz%2BirA%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664063279&sdata=2GT0RlQ5qtM8OxcHqaSE1td2BeK1ZqJcn6YpxXz%2BirA%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664073233&sdata=VkBiBvKJRrqmjO%2BR5hUohAHTIBPw1raq9BHbK0pHBm4%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664073233&sdata=VkBiBvKJRrqmjO%2BR5hUohAHTIBPw1raq9BHbK0pHBm4%3D&reserved=0>
Regarding 2. you may need to provide a BLD_ prefix to pass build parameters to the platform builder, refer to my README for an example.
In Matt's example for 3, processor family is not x86, but rather a group of products that share common architectural components, for example IceLake generation products might share many components. This is somewhat similar to KabylakeOpenBoardPackage.
@Matthew Carlson<mailto:macarl@microsoft.com>, perhaps you could look at the second log in 5.2 above, perhaps we are missing a dependency in our requirements.txt? System.Net.Http?
From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>>
Sent: Tuesday, December 3, 2019 9:04:08 AM
To: Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; lersek@redhat.com<mailto:lersek@redhat.com> <lersek@redhat.com<mailto:lersek@redhat.com>>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>>; Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
Hello Bob,
1. Right. We actually have three documents forthcoming on how to move platforms onto edk2 pytools, one on OVMF, one on Raspberry Pi, and another on KabylakeOpenBoardPackage. Jeremiah sent some links to his platform. We’ll have more example platforms and tutorial in the future
2. Yes. All the remaining arguments get passed into the UefiBuilder itself, which parses it and hands it to build.py
3. Where ever makes sense. Since it’s a python file, it can be very flexible. For our platforms using pytools, it generally goes
PROCESSOR FAMIILY
| -- ProcessorFamilyPkg
| -- ProductNamePkg
| | -- PlatformBuild.py
4. Glad to help 😊
- Matthew Carlson
From: Feng, Bob C<mailto:bob.c.feng@intel.com>
Sent: Monday, December 2, 2019 11:47 PM
To: Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>
Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools
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:macarl@microsoft.com]
Sent: Tuesday, December 3, 2019 12:56 PM
To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@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:jerecox@microsoft.com>
Sent: Monday, December 2, 2019 4:40 PM
To: Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@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:
* 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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664083194&sdata=NtQVD3is0mF%2BPh5eYJb3vSqZOwp2tubtWnsJ%2Fa8yywU%3D&reserved=0>
* 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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664083194&sdata=FGiBLNkn%2BDf6WOURVSe4eyFBu73pJ%2Bgtz1FQ%2F3jWlGU%3D&reserved=0>
1. 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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com> for more details.
2. 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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664093150&sdata=2awikY7WQQO0UlSoWD0FoZyZlRJYEpp%2BBi0jQaRapOQ%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.
3. Hmm, I would ask @Sean Brogan<mailto:sean.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@microsoft.com>
4. 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.
* We have not added support for VS 2015
* We would need more details to debug this one, perhaps provide Build\BUILDLOG.txt ?
* 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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664103107&sdata=Ge6k6pymRiUrHpBAop1Fn8wpH%2Fn1Y%2Ftf7nm9SIEdrbU%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.feng@intel.com>
Sent: Thursday, November 28, 2019 18:50
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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>; jerecox@microsoft.com<mailto:jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664103107&sdata=a7mFKrt13zbYuP21ph%2F4YO6S%2FV0i8v7lQgWqDgn%2Flmg%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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664113067&sdata=7rRALUSiZApAwBMTe0aITBr70fE1x6G4pn%2FStywxwRo%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
[-- Attachment #1.2: Type: text/html, Size: 60180 bytes --]
[-- Attachment #2: image002.png --]
[-- Type: image/png, Size: 216 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 2019-12-09 18:46 Jeremiah Cox @ 2019-12-10 0:11 ` Bob Feng 0 siblings, 0 replies; 12+ messages in thread From: Bob Feng @ 2019-12-10 0:11 UTC (permalink / raw) To: devel@edk2.groups.io, jerecox@microsoft.com, Sean Brogan, Matthew Carlson, lersek@redhat.com, Bret Barkelew [-- Attachment #1.1: Type: text/plain, Size: 30194 bytes --] Hi Jeremiah, I did not build Basetools with Edk2ToolsBuild.py. Sean pointed out this issue in a mail on 12/6, and I cleaned up my edk2 workspace and followed the steps in https://github.com/out0xb2/edk2/blob/feature/pytoolsForOvmf/OvmfPkg/README-pytools.md. Everything goes well. It’s great. Thanks, Bob From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Jeremiah Cox via Groups.Io Sent: Tuesday, December 10, 2019 2:46 AM To: Feng, Bob C <bob.c.feng@intel.com>; Sean Brogan <sean.brogan@microsoft.com>; Matthew Carlson <macarl@microsoft.com>; devel@edk2.groups.io; lersek@redhat.com; Bret Barkelew <Bret.Barkelew@microsoft.com> Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hi Bob, Did you build your BaseTools using the recommended “python EDK2\BaseTools\Edk2ToolsBuild.py” ? This Python script should both build the BaseTools and also create Bin\win32\basetoolsbin_path_env.yaml Stuart_build should find this path_env.yaml and add BaseTools/Bin/Win32 to the path for you. Thanks, Jeremiah From: Feng, Bob C<mailto:bob.c.feng@intel.com> Sent: Thursday, December 5, 2019 18:36 To: Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Thank you all for your clarification. I agree the pytools does not support VS2015. I change TOOL_CHAIN_TAG to VS2017 in target.txt, build can go further, but stopped at an error: INFO - 'VfrCompile' is not recognized as an internal or external command, INFO - operable program or batch file. Looks BaseTools/Bin/Win32 is not in the PATH. After appending BaseTools/Bin/Win32 to PATH, and changing TOOL_CHAIN_TAG to VS2017, I can build Ovmf successfully. Thanks, Bob From: Sean Brogan [mailto:sean.brogan@microsoft.com] Sent: Wednesday, December 4, 2019 2:11 AM To: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>>; Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Sorry let me clarify. The plugin is not designed to work for the VS2015 toolchain. The plugin is not part of pytools but part of edk2 repo. If you would like to build with VS2017 or VS2019 the plugin will handle your path management. If you are not setting the tool chain on the command line then you should update target.txt to use VS2017. Hope that helps. Thanks Sean From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Sent: Tuesday, December 3, 2019 10:08 AM To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools I can confirm that we don’t currently support VS2015, due to the VsToolChainPlugin. https://github.com/tianocore/edk2/blob/master/BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FPlugin%2FWindowsVsToolChain%2FWindowsVsToolChain.py&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965663993576&sdata=1LuZcSz1sb5fDlB4O3vazFDoHL1MnhnvheVdw%2BEHk4A%3D&reserved=0> Please file an issue on the GitHub, https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664003535&sdata=E901leIZJUaFJcpGWn%2FdCpYj9V5eO%2B0v6zXbYIZYq6I%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664003535&sdata=E901leIZJUaFJcpGWn%2FdCpYj9V5eO%2B0v6zXbYIZYq6I%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664013492&sdata=1%2BPX%2FX1ku4KmXgBt3p%2BKJPjsUdhJkmJv7RCQX01ksNM%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664013492&sdata=1%2BPX%2FX1ku4KmXgBt3p%2BKJPjsUdhJkmJv7RCQX01ksNM%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664023444&sdata=mybO6S%2BnYigfBroDtxEsWhSZGvmo7lEBBAKMkOQtYgg%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664023444&sdata=mybO6S%2BnYigfBroDtxEsWhSZGvmo7lEBBAKMkOQtYgg%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664033403&sdata=3Zu2iYWjh%2FDuruyxt3b2nhigQBTmg0cEz%2B520Untj%2Fg%3D&reserved=0> so we can track it and discuss the changes 😊 The log looks like it’s missing the VS2015_PREFIX environmental variable (https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/tools_def.template#L59<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FBaseTools%2FConf%2Ftools_def.template%23L59&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664043359&sdata=v4XJJCUzgovqGUpIzFcx8V2qVl9hDMNKnioy14gUKsc%3D&reserved=0>), which should be set by the VsToolChain plugin. It’s possible that the TOOL_CHAIN_TAG isn’t specified, but I think it’s much more likely that the prefix isn’t being set by the plugin. Thanks for clarifying my example Jeremiah. Bob, hopefully that makes a little more sense. - Matthew Carlson From: Jeremiah Cox<mailto:jerecox@microsoft.com> Sent: Tuesday, December 3, 2019 9:51 AM To: Matthew Carlson<mailto:macarl@microsoft.com>; Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com> Subject: Re: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hi Bob, The 5.2 failure is expected as we do not support VS2015 yet. If suggest adding a feature request here : https://github.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664043359&sdata=e%2BJBwLzpwwFcjLErHIrd1Eda2iaB43dTA5jcjCL%2F8Zk%3D&reserved=0>tianocore<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664053322&sdata=2h7Drcgq%2FEo1x43cGCDyhTzV2Pd2hKuHy2EcLtyEQOE%3D&reserved=0>/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664053322&sdata=2h7Drcgq%2FEo1x43cGCDyhTzV2Pd2hKuHy2EcLtyEQOE%3D&reserved=0>edk2<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664063279&sdata=2GT0RlQ5qtM8OxcHqaSE1td2BeK1ZqJcn6YpxXz%2BirA%3D&reserved=0>-<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664063279&sdata=2GT0RlQ5qtM8OxcHqaSE1td2BeK1ZqJcn6YpxXz%2BirA%3D&reserved=0>pytool<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664073233&sdata=VkBiBvKJRrqmjO%2BR5hUohAHTIBPw1raq9BHbK0pHBm4%3D&reserved=0>-extensions/issues<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions%2Fissues&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664073233&sdata=VkBiBvKJRrqmjO%2BR5hUohAHTIBPw1raq9BHbK0pHBm4%3D&reserved=0> Regarding 2. you may need to provide a BLD_ prefix to pass build parameters to the platform builder, refer to my README for an example. In Matt's example for 3, processor family is not x86, but rather a group of products that share common architectural components, for example IceLake generation products might share many components. This is somewhat similar to KabylakeOpenBoardPackage. @Matthew Carlson<mailto:macarl@microsoft.com>, perhaps you could look at the second log in 5.2 above, perhaps we are missing a dependency in our requirements.txt? System.Net.Http? From: Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Sent: Tuesday, December 3, 2019 9:04:08 AM To: Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; lersek@redhat.com<mailto:lersek@redhat.com> <lersek@redhat.com<mailto:lersek@redhat.com>>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>>; Matthew Carlson <macarl@microsoft.com<mailto:macarl@microsoft.com>> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools Hello Bob, 1. Right. We actually have three documents forthcoming on how to move platforms onto edk2 pytools, one on OVMF, one on Raspberry Pi, and another on KabylakeOpenBoardPackage. Jeremiah sent some links to his platform. We’ll have more example platforms and tutorial in the future 2. Yes. All the remaining arguments get passed into the UefiBuilder itself, which parses it and hands it to build.py 3. Where ever makes sense. Since it’s a python file, it can be very flexible. For our platforms using pytools, it generally goes PROCESSOR FAMIILY | -- ProcessorFamilyPkg | -- ProductNamePkg | | -- PlatformBuild.py 4. Glad to help 😊 - Matthew Carlson From: Feng, Bob C<mailto:bob.c.feng@intel.com> Sent: Monday, December 2, 2019 11:47 PM To: Matthew Carlson<mailto:macarl@microsoft.com>; Jeremiah Cox<mailto:jerecox@microsoft.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@microsoft.com> Subject: RE: [EXTERNAL] RE: [edk2-devel] Seeking feedback: example of building OvmfPkg with Pytools 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:macarl@microsoft.com] Sent: Tuesday, December 3, 2019 12:56 PM To: Jeremiah Cox <jerecox@microsoft.com<mailto:jerecox@microsoft.com>>; Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan <sean.brogan@microsoft.com<mailto:sean.brogan@microsoft.com>>; Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@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:jerecox@microsoft.com> Sent: Monday, December 2, 2019 4:40 PM To: Feng, Bob C<mailto:bob.c.feng@intel.com>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Sean Brogan<mailto:sean.brogan@microsoft.com>; Matthew Carlson<mailto:macarl@microsoft.com>; Bret Barkelew<mailto:Bret.Barkelew@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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664083194&sdata=NtQVD3is0mF%2BPh5eYJb3vSqZOwp2tubtWnsJ%2Fa8yywU%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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664083194&sdata=FGiBLNkn%2BDf6WOURVSe4eyFBu73pJ%2Bgtz1FQ%2F3jWlGU%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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664093150&sdata=2awikY7WQQO0UlSoWD0FoZyZlRJYEpp%2BBi0jQaRapOQ%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.brogan@microsoft.com> & @Matthew Carlson<mailto:macarl@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%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664103107&sdata=Ge6k6pymRiUrHpBAop1Fn8wpH%2Fn1Y%2Ftf7nm9SIEdrbU%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.feng@intel.com> Sent: Thursday, November 28, 2019 18:50 To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lersek@redhat.com<mailto:lersek@redhat.com>; Jeremiah Cox<mailto:jerecox@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>; jerecox@microsoft.com<mailto:jerecox@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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=cEITDGTog5kBjBA8HQDRt%2FyVem9xpqtbnC%2FitE8eyTE%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-pytool-extensions&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664103107&sdata=a7mFKrt13zbYuP21ph%2F4YO6S%2FV0i8v7lQgWqDgn%2Flmg%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&data=02%7C01%7Cjerecox%40microsoft.com%7Cb73016ada4ec4ab091c208d77476eb6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637105926421631531&sdata=SHlSuJMKDf8GOWwH8KrNIf6MtC%2FnjhRRZ1htdQT8%2Fvc%3D&reserved=0<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fout0xb2%2Fedk2%2Fpull%2F3%2Ffiles&data=02%7C01%7Cjerecox%40microsoft.com%7Cb745237fff48426b46b608d779f509e6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637111965664113067&sdata=7rRALUSiZApAwBMTe0aITBr70fE1x6G4pn%2FStywxwRo%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 [-- Attachment #1.2: Type: text/html, Size: 68348 bytes --] [-- Attachment #2: image001.png --] [-- Type: image/png, Size: 216 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-12-10 0:11 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-11-27 0:03 Seeking feedback: example of building OvmfPkg with Pytools Jeremiah Cox 2019-11-27 9:28 ` [edk2-devel] " Laszlo Ersek 2019-11-29 2:50 ` Bob Feng 2019-12-03 0:40 ` [EXTERNAL] " Jeremiah Cox [not found] ` <MN2PR21MB12620D584417FD5F98564AE6D1420@MN2PR21MB1262.namprd21.prod.outlook.com> 2019-12-03 7:47 ` Bob Feng [not found] ` <MN2PR21MB12622D6027E9F93768FA4D79D1420@MN2PR21MB1262.namprd21.prod.outlook.com> 2019-12-03 17:51 ` Jeremiah Cox [not found] ` <MN2PR21MB12622C51F53677E34B8C214AD1420@MN2PR21MB1262.namprd21.prod.outlook.com> 2019-12-03 18:11 ` Sean 2019-12-06 2:35 ` Bob Feng 2019-12-06 4:39 ` [edk2-devel] " Sean 2019-12-06 6:51 ` Bob Feng -- strict thread matches above, loose matches on Subject: below -- 2019-12-09 18:46 Jeremiah Cox 2019-12-10 0:11 ` Bob Feng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox