[edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure

Wang, Jian J posted 1 patch 5 years, 5 months ago
Failed in applying to current master (apply log)
CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 1 -
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 -
2 files changed, 2 deletions(-)
[edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure
Posted by Wang, Jian J 5 years, 5 months ago
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1878

This issue is specific to VS2017 which tries to resolve symbol referenced
by a symbol not really referenced eventually.

ossl_init_load_crypto_strings
-> err_load_crypto_strings_int (not really referenced)
-> ERR_load_OSSL_STORE_strings

Because OPENSSL_NO_ERR and OPENSSL_NO_AUTOERRINIT are not defined by
default, err_load_crypto_strings_int() will not be actually referenced
by ossl_init_load_crypto_strings().

Since err_load_crypto_strings_int() is not actually referenced at all,
the fix can be done simply by removing crypto/err/err_all.c from build.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
---
 CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 1 -
 CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 -
 2 files changed, 2 deletions(-)

diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
index 378fa6588e..5a2424fc16 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
@@ -218,7 +218,6 @@
   $(OPENSSL_PATH)/crypto/dso/dso_win32.c
   $(OPENSSL_PATH)/crypto/ebcdic.c
   $(OPENSSL_PATH)/crypto/err/err.c
-  $(OPENSSL_PATH)/crypto/err/err_all.c
   $(OPENSSL_PATH)/crypto/err/err_prn.c
   $(OPENSSL_PATH)/crypto/evp/bio_b64.c
   $(OPENSSL_PATH)/crypto/evp/bio_enc.c
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
index 24d3d96459..588da4c040 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
@@ -218,7 +218,6 @@
   $(OPENSSL_PATH)/crypto/dso/dso_win32.c
   $(OPENSSL_PATH)/crypto/ebcdic.c
   $(OPENSSL_PATH)/crypto/err/err.c
-  $(OPENSSL_PATH)/crypto/err/err_all.c
   $(OPENSSL_PATH)/crypto/err/err_prn.c
   $(OPENSSL_PATH)/crypto/evp/bio_b64.c
   $(OPENSSL_PATH)/crypto/evp/bio_enc.c
-- 
2.17.1.windows.2


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

View/Reply Online (#41891): https://edk2.groups.io/g/devel/message/41891
Mute This Topic: https://groups.io/mt/31930984/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure
Posted by Liming Gao 5 years, 5 months ago
Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
>Wang, Jian J
>Sent: Wednesday, June 05, 2019 5:19 AM
>To: devel@edk2.groups.io
>Cc: Bi, Dandan <dandan.bi@intel.com>; Lu, XiaoyuX <xiaoyux.lu@intel.com>
>Subject: [edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure
>
>BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1878
>
>This issue is specific to VS2017 which tries to resolve symbol referenced
>by a symbol not really referenced eventually.
>
>ossl_init_load_crypto_strings
>-> err_load_crypto_strings_int (not really referenced)
>-> ERR_load_OSSL_STORE_strings
>
>Because OPENSSL_NO_ERR and OPENSSL_NO_AUTOERRINIT are not defined
>by
>default, err_load_crypto_strings_int() will not be actually referenced
>by ossl_init_load_crypto_strings().
>
>Since err_load_crypto_strings_int() is not actually referenced at all,
>the fix can be done simply by removing crypto/err/err_all.c from build.
>
>Cc: Dandan Bi <dandan.bi@intel.com>
>Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
>Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
>---
> CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 1 -
> CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 -
> 2 files changed, 2 deletions(-)
>
>diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
>b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
>index 378fa6588e..5a2424fc16 100644
>--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
>+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
>@@ -218,7 +218,6 @@
>   $(OPENSSL_PATH)/crypto/dso/dso_win32.c
>   $(OPENSSL_PATH)/crypto/ebcdic.c
>   $(OPENSSL_PATH)/crypto/err/err.c
>-  $(OPENSSL_PATH)/crypto/err/err_all.c
>   $(OPENSSL_PATH)/crypto/err/err_prn.c
>   $(OPENSSL_PATH)/crypto/evp/bio_b64.c
>   $(OPENSSL_PATH)/crypto/evp/bio_enc.c
>diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>index 24d3d96459..588da4c040 100644
>--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
>@@ -218,7 +218,6 @@
>   $(OPENSSL_PATH)/crypto/dso/dso_win32.c
>   $(OPENSSL_PATH)/crypto/ebcdic.c
>   $(OPENSSL_PATH)/crypto/err/err.c
>-  $(OPENSSL_PATH)/crypto/err/err_all.c
>   $(OPENSSL_PATH)/crypto/err/err_prn.c
>   $(OPENSSL_PATH)/crypto/evp/bio_b64.c
>   $(OPENSSL_PATH)/crypto/evp/bio_enc.c
>--
>2.17.1.windows.2
>
>
>


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

View/Reply Online (#41897): https://edk2.groups.io/g/devel/message/41897
Mute This Topic: https://groups.io/mt/31930984/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure
Posted by Laszlo Ersek 5 years, 5 months ago
Hi Jian,

On 06/04/19 23:18, Wang, Jian J wrote:
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1878
> 
> This issue is specific to VS2017 which tries to resolve symbol referenced
> by a symbol not really referenced eventually.
> 
> ossl_init_load_crypto_strings
> -> err_load_crypto_strings_int (not really referenced)
> -> ERR_load_OSSL_STORE_strings
> 
> Because OPENSSL_NO_ERR and OPENSSL_NO_AUTOERRINIT are not defined by
> default, err_load_crypto_strings_int() will not be actually referenced
> by ossl_init_load_crypto_strings().
> 
> Since err_load_crypto_strings_int() is not actually referenced at all,
> the fix can be done simply by removing crypto/err/err_all.c from build.
> 
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
> ---
>  CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 1 -
>  CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 -
>  2 files changed, 2 deletions(-)
> 
> diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> index 378fa6588e..5a2424fc16 100644
> --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> @@ -218,7 +218,6 @@
>    $(OPENSSL_PATH)/crypto/dso/dso_win32.c
>    $(OPENSSL_PATH)/crypto/ebcdic.c
>    $(OPENSSL_PATH)/crypto/err/err.c
> -  $(OPENSSL_PATH)/crypto/err/err_all.c
>    $(OPENSSL_PATH)/crypto/err/err_prn.c
>    $(OPENSSL_PATH)/crypto/evp/bio_b64.c
>    $(OPENSSL_PATH)/crypto/evp/bio_enc.c
> diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> index 24d3d96459..588da4c040 100644
> --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> @@ -218,7 +218,6 @@
>    $(OPENSSL_PATH)/crypto/dso/dso_win32.c
>    $(OPENSSL_PATH)/crypto/ebcdic.c
>    $(OPENSSL_PATH)/crypto/err/err.c
> -  $(OPENSSL_PATH)/crypto/err/err_all.c
>    $(OPENSSL_PATH)/crypto/err/err_prn.c
>    $(OPENSSL_PATH)/crypto/evp/bio_b64.c
>    $(OPENSSL_PATH)/crypto/evp/bio_enc.c
> 

after the edk2-stable201905 tag, we might want to update
"CryptoPkg/Library/OpensslLib/process_files.pl" as well, to exclude this
file. In order to fix the build issue for the stable tag, this patch is
acceptable (I see it's been pushed already, and that's fine); but in the
longer term, we should not manually update the section that's marked as
"Autogenerated files list starts here".

If you agree, can you please file a TianoCore BZ about this? (I.e.
special handling for "err_all.c" in "process_files.pl".)

Thanks
Laszlo

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

View/Reply Online (#41937): https://edk2.groups.io/g/devel/message/41937
Mute This Topic: https://groups.io/mt/31930984/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure
Posted by Wang, Jian J 5 years, 5 months ago
Laszlo,

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Laszlo Ersek
> Sent: Wednesday, June 05, 2019 7:00 PM
> To: devel@edk2.groups.io; Wang, Jian J <jian.j.wang@intel.com>
> Cc: Bi, Dandan <dandan.bi@intel.com>; Lu, XiaoyuX <xiaoyux.lu@intel.com>
> Subject: Re: [edk2-devel] [PATCH] CryptoPkg/OpensslLib: fix VS2017 build failure
> 
> Hi Jian,
> 
> On 06/04/19 23:18, Wang, Jian J wrote:
> > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1878
> >
> > This issue is specific to VS2017 which tries to resolve symbol referenced
> > by a symbol not really referenced eventually.
> >
> > ossl_init_load_crypto_strings
> > -> err_load_crypto_strings_int (not really referenced)
> > -> ERR_load_OSSL_STORE_strings
> >
> > Because OPENSSL_NO_ERR and OPENSSL_NO_AUTOERRINIT are not defined
> by
> > default, err_load_crypto_strings_int() will not be actually referenced
> > by ossl_init_load_crypto_strings().
> >
> > Since err_load_crypto_strings_int() is not actually referenced at all,
> > the fix can be done simply by removing crypto/err/err_all.c from build.
> >
> > Cc: Dandan Bi <dandan.bi@intel.com>
> > Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> > Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
> > ---
> >  CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 1 -
> >  CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 -
> >  2 files changed, 2 deletions(-)
> >
> > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> > index 378fa6588e..5a2424fc16 100644
> > --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> > +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> > @@ -218,7 +218,6 @@
> >    $(OPENSSL_PATH)/crypto/dso/dso_win32.c
> >    $(OPENSSL_PATH)/crypto/ebcdic.c
> >    $(OPENSSL_PATH)/crypto/err/err.c
> > -  $(OPENSSL_PATH)/crypto/err/err_all.c
> >    $(OPENSSL_PATH)/crypto/err/err_prn.c
> >    $(OPENSSL_PATH)/crypto/evp/bio_b64.c
> >    $(OPENSSL_PATH)/crypto/evp/bio_enc.c
> > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> > index 24d3d96459..588da4c040 100644
> > --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> > @@ -218,7 +218,6 @@
> >    $(OPENSSL_PATH)/crypto/dso/dso_win32.c
> >    $(OPENSSL_PATH)/crypto/ebcdic.c
> >    $(OPENSSL_PATH)/crypto/err/err.c
> > -  $(OPENSSL_PATH)/crypto/err/err_all.c
> >    $(OPENSSL_PATH)/crypto/err/err_prn.c
> >    $(OPENSSL_PATH)/crypto/evp/bio_b64.c
> >    $(OPENSSL_PATH)/crypto/evp/bio_enc.c
> >
> 
> after the edk2-stable201905 tag, we might want to update
> "CryptoPkg/Library/OpensslLib/process_files.pl" as well, to exclude this
> file. In order to fix the build issue for the stable tag, this patch is
> acceptable (I see it's been pushed already, and that's fine); but in the
> longer term, we should not manually update the section that's marked as
> "Autogenerated files list starts here".
> 
> If you agree, can you please file a TianoCore BZ about this? (I.e.
> special handling for "err_all.c" in "process_files.pl".)
> 

Agree. The fix is a bit rush. A BZ has been filed. Thanks for catching it.

https://bugzilla.tianocore.org/show_bug.cgi?id=1881

Regards,
Jian

> Thanks
> Laszlo
> 
> 


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

View/Reply Online (#41942): https://edk2.groups.io/g/devel/message/41942
Mute This Topic: https://groups.io/mt/31930984/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-