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 <lersek@redhat.com>
Sent: 17 November 2023 16:06
To: devel@edk2.groups.io <devel@edk2.groups.io>; crossedcarpet@hotmail.com <crossedcarpet@hotmail.com>
Cc: Liming Gao (Byosoft address) <gaoliming@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) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_