Good morning Laszlo,
Thank you for your reply. I feared this was intentional due to believing that 
it would have been caught with automated testing.
Doesn't the Azure Pipeline try to build all packages to make sure no dependency 
broke?

Also Liming, would you do me the honour of creating a Bugzilla account for this 
email?
Best regards,
CC
________________________________
From: Laszlo Ersek <ler...@redhat.com>
Sent: 17 November 2023 16:06
To: devel@edk2.groups.io <devel@edk2.groups.io>; crossedcar...@hotmail.com 
<crossedcar...@hotmail.com>
Cc: Liming Gao (Byosoft address) <gaolim...@byosoft.com.cn>
Subject: Re: [edk2-devel] [Bug] Building NetworkPkg fails due to missing 
SynchronizationLib dependency of BaseCryptLib

On 11/17/23 13:49, CrossedCarpet wrote:
> Steps to reproduce:
> - download and setup edk2
> - run:
> build -a X64 -b DEBUG -t GCC -p NetworkPkg/NetworkPkg.dsc
>
> Get the error:
> build.py...
> /.../edk2/NetworkPkg/NetworkPkg.dsc(...): error 4000: Instance of
> library class [SynchronizationLib] is not found
> in [/.../edk2/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf] [X64]
> consumed by module [/.../edk2/NetworkPkg/TlsDxe/TlsDxe.inf]
>
> Adding this LibClass to NetworkPkg.dsc solves it:
>
> SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf

This is a regression from commit 5d5be45bd111 ("CryptPkg: Enable CryptoPkg 
BaseCryptLib ParallelHash for PEI and DXE", 2022-12-02), which was made for 
<https://bugzilla.tianocore.org/show_bug.cgi?id=4097>.

It added a new lib class dependency to "BaseCryptLib.inf", but it didn't ensure 
that all DSC files in the tree that employed the "BaseCryptLib.inf" instance 
had a resolution for the new lib class.

Indeed it is not just NetworkPkg.dsc but also FmpDevicePkg.dsc that's affected:

$ git grep -l -F CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf -- '**dsc*' \
  | xargs -- grep --files-without-match -w SynchronizationLib --

FmpDevicePkg/FmpDevicePkg.dsc
NetworkPkg/NetworkPkg.dsc

It also *seems* to affect at least one platform in edk2-platforms:

Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc

(although I realize this last DSC file is an "include" DSC, so the missing 
dependency could be resolved in the DSC file that includes this one.)

Either way, thanks for catching this; the edk2 issue should be fixed preferably 
during the current hard feature freeze (for NetworkPkg and FmpDevicePkg).

> I tried to open a bug in bugzilla but I wasn't able to log in or create
> an account. How should I do it next time?

I think the bugzilla account creation was disabled due to spammer accounts.

The way to request an account is described here (linked from the 
bugzilla.tianocore.org landing page under link "Reporting issues"):

  https://github.com/tianocore/tianocore.github.io/wiki/Reporting-Issues

(I've added Liming to the CC list of this email.)

Laszlo


> 



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


Reply via email to