[edk2-devel] Buildtools error

2021-07-20 Thread Matthew Carlson via groups.io
Hey all, I got this error when doing a build:

build.py...
 : error C0DE: Unknown fatal error when processing 
[/edk2/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf]
(Please send email to edk2-de...@lists.01.org for help, attaching following 
call stack trace!)
(Python 2.7.16 on darwin) Traceback (most recent call last):
  File "/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", 
line 2257, in Main
MyBuild.Launch()
  File "/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", 
line 2009, in Launch
self._MultiThreadBuildPlatform()
  File "/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", 
line 1804, in _MultiThreadBuildPlatform
self.Progress
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__
if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, 
*args, **kwargs):
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 547, in _Init
Pkgs = list(PkgSet) + list(PGen.PackageList)
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1785, in 
_GetPackageList
for La in self.LibraryAutoGenList:
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1895, in 
_GetLibraryAutoGenList
self._GetAutoGenObjectList()
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1880, in 
_GetAutoGenObjectList
for La in Ma.LibraryAutoGenList:
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 3989, in 
_GetLibraryAutoGenList
for Lib in La.CodaTargetList:
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 3222, in 
_GetFinalTargetList
self._GetTargets()
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 3208, in _GetTargets
if self.SourceFileList:
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 3042, in 
_GetSourceFileList
self._MatchBuildRuleOrder(self._SourceFileList)
  File "/BaseTools/Source/Python/AutoGen/AutoGen.py", line 3067, in 
_MatchBuildRuleOrder
FileList.remove(item)
ValueError: list.remove(x): x not in list

Happy to provide more information but in the meantime, I’ll be trying to figure 
out what’s going on.

Thanks!

- Matthew Carlson

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#77992): https://edk2.groups.io/g/devel/message/77992
Mute This Topic: https://groups.io/mt/84344469/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH] EmulatorPkg: Add RngLib to satisfy dependency of OpensslLib

2020-09-19 Thread Matthew Carlson via groups.io
Thanks for catching this!
--
- Matthew Carlson


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#65411): https://edk2.groups.io/g/devel/message/65411
Mute This Topic: https://groups.io/mt/76949410/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] 回复: [edk2-devel] [PATCH v10 0/5] Use RngLib instead of TimerLib for OpensslLib

2020-09-16 Thread Matthew Carlson via groups.io
Hey Liming!
I added the two reviewed by and pushed to the PR here: 
https://github.com/tianocore/edk2/pull/933

Feel free to use that PR to merge in

--
- Matthew Carlson


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#65342): https://edk2.groups.io/g/devel/message/65342
Mute This Topic: https://groups.io/mt/76879301/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH v10 0/5] Use RngLib instead of TimerLib for OpensslLib

2020-09-15 Thread Matthew Carlson via groups.io
Just pinging this thread to see what needs to get done next. Thank you Liming 
for the reviewed by on the MdeModulePkg changes.

--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v5 0/5] Use RngLib instead of TimerLib for OpensslLib

2020-08-12 Thread Matthew Carlson via groups.io
Will do.
--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v5 4/5] ArmVirtPkg: Add RngLib based on TimerLib for CryptoPkg

2020-08-12 Thread Matthew Carlson via groups.io
You are correct, I'll fix it in v6
--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v5 3/5] OvmfPkg: Add RngLib based on TimerLib for Crypto

2020-08-12 Thread Matthew Carlson via groups.io
I'll fix this for v6. Good spot.
--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v4 3/5] OvmfPkg: Add RngLib based on TimerLib for Crypto

2020-08-11 Thread Matthew Carlson via groups.io
Thank you for the helpful comments Lazlo!

I sent out an updated series (v5) that fixes the things you mentioned. I added 
more description, so hopefully that helps.

Sorry I didn't notice BhyvePkg, I thought you couldn't have packages under 
other packages, so I didn't think to check for other DSC's. It should be fixed 
up like the other Ovmf DSC's.

I've been following your excellent guide for sending mailing list patches 
(Lazlo's Guide). ( 
https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers
 ) Is there a better way to get all the CC's from all the patches other than 
just copy and pasting them all? Perhaps the GetMaintainers.py where you specify 
multiple commits? Specifying a range didn't produce the desired behavior.

--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v4 0/5] Use RngLib instead of TimerLib for OpensslLib

2020-08-11 Thread Matthew Carlson via groups.io
Thanks Guomin!

I sent out a version 5 of this series.

--
- Matthew Carlson

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

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



Re: [edk2-devel] [Patch v2 0/2] Use RngLib instead of TimerLib for OpensslLib

2020-07-31 Thread Matthew Carlson via groups.io
I included a null lib and I was including the wrong version of Rng anyway.

I think that would make sense to split them into two different DSC files.

Typo fixed, good spot!
--
- Matthew Carlson

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

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



Re: [edk2-devel] [Patch v2 0/2] Use RngLib instead of TimerLib for OpensslLib

2020-07-31 Thread Matthew Carlson via groups.io
Hey Mike!

Thanks for the comments. I've addressed the feedback below.

1. All good comments. I think I've addressed them all. New patch series should 
be coming soon.

2. This is a problem for BaseCryptLibOnProtocol. We can't use a null lib for 
RngLib since it explodes when it tries to seed OpenSSL with entropy. I think 
for now, let's stick with established dependencies and figure this out at a 
later date. I added an RngLib that uses the DXE RNG Protocol.

3. I don't see a typo?

Calls RandomNumber64 to fill
a buffer of arbitrary size with random bytes.

@param [in]   LengthSize of the buffer, in bytes,  to fill with.
@param [out]  RandBufferPointer to the buffer to store the random result.

@retval TrueRandom bytes generation succeeded.
@retval False   Failed to request random bytes.

--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v1 1/3] UnitTestFrameworkPkg : BaseTimerLib: Adds a host-based timer Lib

2020-07-09 Thread Matthew Carlson via groups.io
I sent out a new patch series. Not sure, it might be waiting in the
--
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH v1 1/3] UnitTestFrameworkPkg : BaseTimerLib: Adds a host-based timer Lib

2020-07-08 Thread Matthew Carlson via groups.io
Great point. I'll fix this.
--
- Matthew Carlson

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

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



Re: [edk2-devel] Creating a edk2-pytool-base repo under tianocore

2020-06-26 Thread Matthew Carlson via groups.io
Thanks Mike!
--
- Matthew Carlson

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

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



[edk2-devel] Creating a edk2-pytool-base repo under tianocore

2020-06-25 Thread Matthew Carlson via groups.io
Based on this RFC: 
https://edk2.groups.io/g/rfc/topic/rfc_basetools_source_python/74009714?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,74009714

We'd like to request a repository be made under tianocore with similar 
permissions to edk2-pytool-library or edk2-pytool-extensions

We'd prefer it to be called edk2-pytool-base or edk2-basetools

This will help us start the next stage.
--
- Matthew Carlson

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

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



Re: [edk2-devel] FW: Discussion: Basetools a separate repo

2020-04-22 Thread Matthew Carlson via groups.io
I think you've got it. The version of basetools will be carried via a 
pip-requirements file.

Where would "pip install -r pip-requirements.txt" *fetch* the required 
basetools version from?
I believe that it has a cache internal to pip. But if you want to fetch a 
basetools that hasn't been fetched before, yes, it would require a network 
download. Alternatively, if you're without internet access, you can check it 
out locally and use the pip install -e.

Can you please explain the effects of the "pip install -e in more detail?
So I'm a little murky on how it works but I believe that it creates symlinks or 
some other mechanism to repoint the global python module (global meaning your 
pip install or virtualenv). This is something that works automatically. The 
setup.py in the root of the repo takes care of this since it's used also to 
package the pip module. You can do pip install -e., and it just works (tm). Any 
basetools commit you check out (once it is in it's own repo, going back a given 
basetools commit two years ago is unfortunately not as easy) will work with pip 
install -e with not setup or configuration on your part as a developer. I use 
this whenever I work on the pytools and it works quite well. It will also show 
up in the BuildToolsReport and pip freeze as being locally installed and it 
will tell you the git commit it is currently at.

I agree- I think we're trending towards very very frequent releases for 
basetools to provide high granularity. But that is pending community feedback 
and the decision of the tools maintainer. It is certainly trivial to automate 
the release pipeline in such a way that a release with every commit that passes 
CI is easy and mostly automatic for the maintainers.

Thank you for the excellent questions!

--
- Matthew Carlson

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

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



Re: [edk2-devel] FW: Discussion: Basetools a separate repo

2020-04-21 Thread Matthew Carlson via groups.io
Hey Lazlo,

This is a great point of discussion. Just to make sure we're on the same page, 
let me paraphrase your scenario. Two features at the same time or a improperly 
tested new feature were committed in BaseTools and a new release was spun out. 
EDK2 was updated to have it's pip-requirements.txt to point to the new version 
committed. In an ideal world, CI should catch the build break for MdeModulePkg 
but let's say it didn't catch it. Your scenario is, how do you go back to the 
previous version of basetools that EDK2 used or perhaps go the the version of 
BaseTools that last worked.

There are several great ways to do this. The release cadence of a pip based 
BaseTools hasn't really been discussed but one option was every feature in 
BaseTools would be a new release (this would be easy to do via pipelines). The 
exact versioning would need to be discussed but there would likely be some 
notion of breaking changes with major and minor version. This means that you 
would be able to easily pip install the basetools 1:1 with the feature commit 
history. In the scenario you mentioned, it would be easy to roll back to C0, 
just "pip install -r the previous requirements file". If a virtual environment 
is setup, this pip install would be entirely localized to the workspace the 
user is operating in. The git show command you mentioned would show the 
pip-requirements file. We would likely tag the pip_requirements file to a 
specific release of BaseTools and there might be another file like 
pip_suggestions that would allow for a looser version such as 0.3.x were any 
minor version in 0.3 is fine. That said, determining what exact basetools was 
used in a given build would likely be best accomplished through build 
artifacts. We have a BuildToolsReport generator that specifically does this ( 
https://github.com/tianocore/edk2/tree/master/BaseTools/Plugin/BuildToolsReport 
) and it would generate a report that would detail the exact pip version used 
in that build. Without build artifacts, it grows a little bit more fuzzy, but 
you can have reasonable confidence since it would need to at least conform to 
pip suggestions and likely was on pip_requirements. To summarize, moving back 
in time is simple and even trivial with minimal delay to a developer (pip 
installs are usually sub-second procedures). There might even be a part of 
edksetup that might do the pip install for you if that's what the community 
wants.

Going to the next step, if you wanted to debug the BaseTools at C1, you might 
want to generate a diff of the basetools to try and see where the error and 
compare the diff. This I think better addresses your question of bisectability 
(not sure if that's a word). You could clone the basetools repo and do a pip 
install -e {path to basetools}. You would checkout the version in C1 
pip_requirements and generate the diff between it and C0. Then you could apply 
changes or revert changes and test them locally as the basetools used in your 
edk2 repo will be the local repo you cloned. Once you're done, simply do a pip 
install of your pip_requirements file and the symlinks will be overwritten and 
things will go back to the way they were before.

Hopefully that addresses your concerns.

Thanks,
- Matthew Carlson

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

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



Re: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float.

2020-03-30 Thread Matthew Carlson via Groups.Io
So it's not required by OpenSSL, it's required by the compiler whenever 
floating point is used, which can be in multiple places. For example, this is 
used in mu_plus (the Microsoft UEFI value add to EDK2) by the OnScreenKeyboard 
driver as well as the UiToolKit driver. If you happen to use BaseCryptLib or 
the intrinsic in a driver that happens to need crypto as well, it can break due 
to multiple.

I do agree, this only applies to MSVC and requiring every platform to add a 
line in their DSC would be a situation I would prefer to avoid if possible. Is 
there a way to specify a library dependency only if a toolchain is being used?
--
- Matthew Carlson

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

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