public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* CryptoPkg compiles error: BIO_printf() and BIO_snprintf() redefined.
@ 2017-04-13  2:39 winddy
  2017-04-13  5:08 ` Long, Qin
  0 siblings, 1 reply; 5+ messages in thread
From: winddy @ 2017-04-13  2:39 UTC (permalink / raw)
  To: edk2-devel

Hi experts,
     Now I compile CryptoPkg in lastest UDK, I find there is a build error:
  
 BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_snprintf already defined i
n OpensslLib.lib(b_print.obj)
BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_printf already defined in
OpensslLib.lib(b_print.obj)
d:\project\udkapp\udkapp\Build\WinddyPkg\RELEASE_DDK7600\X64\WinddyPkg\Dxe\Crypt
Dxe\CryptDxe\DEBUG\CryptDxe.dll : fatal error LNK1169: one or more multiply defi
ned symbols found 
  
     Both c file "CryptoPkg\Library\BaseCryptLib\SysCall\CrtWrapper.c" and c file "CryptoPkg\Library\OpensslLib\openssl\crypto\bio\b_print.c" defined function BIO_printf(), BIO_snprintf().
  
     I just remove the dummy functions in  CrtWrapper.c, the build process is successful. 
 Is that right?
  
     BTW, I think someone maybe does not know how to run perl script for openssl library init,  so I write down my trying steps under windows 7 64 bit for your reference:
 1. download and install ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
2. cmdline run "ppm install dmake"
3. download openssl-1.1.0e.tar.gz and unpack it to CryptoPkg/Library/OpensslLib/openssl.
4. rename "openssl\Configure" to "openssl\Configure.pl"
5. modify file process_files.pl line 49:  "./Configure" -> "Configure.pl"
6. under cmdline, cd to "CryptoPkg\Library\OpensslLib" and run "process_files.pl"
  
     Thank you.
  
  
  
  ------------------
  BR
 winddy_zhang

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: CryptoPkg compiles error: BIO_printf() and BIO_snprintf() redefined.
  2017-04-13  2:39 CryptoPkg compiles error: BIO_printf() and BIO_snprintf() redefined winddy
@ 2017-04-13  5:08 ` Long, Qin
  2017-04-13  6:06   ` CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined winddy
  0 siblings, 1 reply; 5+ messages in thread
From: Long, Qin @ 2017-04-13  5:08 UTC (permalink / raw)
  To: winddy, edk2-devel



> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> winddy
> Sent: Thursday, April 13, 2017 10:39 AM
> To: edk2-devel <edk2-devel@lists.01.org>
> Subject: [edk2] CryptoPkg compiles error: BIO_printf() and BIO_snprintf()
> redefined.
> 
> Hi experts,
>      Now I compile CryptoPkg in lastest UDK, I find there is a build error:
> 
>  BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_snprintf already
> defined i n OpensslLib.lib(b_print.obj)
> BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_printf already defined
> in
> OpensslLib.lib(b_print.obj)
> d:\project\udkapp\udkapp\Build\WinddyPkg\RELEASE_DDK7600\X64\Windd
> yPkg\Dxe\Crypt
> Dxe\CryptDxe\DEBUG\CryptDxe.dll : fatal error LNK1169: one or more
> multiply defi ned symbols found

Please check your OpensslLib.inf, the b_print.c should not be there.
And the process_file.pl should filter this file into the final file list in INF.

> 
>      Both c file "CryptoPkg\Library\BaseCryptLib\SysCall\CrtWrapper.c" and c
> file "CryptoPkg\Library\OpensslLib\openssl\crypto\bio\b_print.c" defined
> function BIO_printf(), BIO_snprintf().
> 
>      I just remove the dummy functions in  CrtWrapper.c, the build process is
> successful.
>  Is that right?
> 
>      BTW, I think someone maybe does not know how to run perl script for
> openssl library init,  so I write down my trying steps under windows 7 64 bit
> for your reference:
>  1. download and install ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
> 2. cmdline run "ppm install dmake"
> 3. download openssl-1.1.0e.tar.gz and unpack it to
> CryptoPkg/Library/OpensslLib/openssl.
> 4. rename "openssl\Configure" to "openssl\Configure.pl"
> 5. modify file process_files.pl line 49:  "./Configure" -> "Configure.pl"
> 6. under cmdline, cd to "CryptoPkg\Library\OpensslLib" and run
> "process_files.pl"

Use "Perl process_files.pl" is fine enough.
If you are using Windows and installed Git-Windows, just run "perl process_files.pl"
In your Git Bash (Perl should be included in your MINGW environment).

> 
>      Thank you.
> 
> 
> 
>   ------------------
>   BR
>  winddy_zhang
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.
  2017-04-13  5:08 ` Long, Qin
@ 2017-04-13  6:06   ` winddy
  2017-04-13  6:29     ` Long, Qin
  0 siblings, 1 reply; 5+ messages in thread
From: winddy @ 2017-04-13  6:06 UTC (permalink / raw)
  To: Long, Qin, edk2-devel

Hi Qin,
    So currently  our CryptoPkg init does not support third party perl tool such as  ActivePerl ?
    Thanks.

  
  ------------------
  BR
 winddy_zhang


  
  

 

 ------------------ Original ------------------
  From:  "Long, Qin";<qin.long@intel.com>;
 Date:  Thu, Apr 13, 2017 01:08 PM
 To:  "winddy"<winddy_zhang@foxmail.com>; "edk2-devel"<edk2-devel@lists.01.org>; 
 
 Subject:  RE: [edk2] CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.

 



> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> winddy
> Sent: Thursday, April 13, 2017 10:39 AM
> To: edk2-devel <edk2-devel@lists.01.org>
> Subject: [edk2] CryptoPkg compiles error: BIO_printf() and BIO_snprintf()
> redefined.
> 
> Hi experts,
>      Now I compile CryptoPkg in lastest UDK, I find there is a build error:
> 
>  BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_snprintf already
> defined i n OpensslLib.lib(b_print.obj)
> BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_printf already defined
> in
> OpensslLib.lib(b_print.obj)
> d:\project\udkapp\udkapp\Build\WinddyPkg\RELEASE_DDK7600\X64\Windd
> yPkg\Dxe\Crypt
> Dxe\CryptDxe\DEBUG\CryptDxe.dll : fatal error LNK1169: one or more
> multiply defi ned symbols found

Please check your OpensslLib.inf, the b_print.c should not be there.
And the process_file.pl should filter this file into the final file list in INF.

> 
>      Both c file "CryptoPkg\Library\BaseCryptLib\SysCall\CrtWrapper.c" and c
> file "CryptoPkg\Library\OpensslLib\openssl\crypto\bio\b_print.c" defined
> function BIO_printf(), BIO_snprintf().
> 
>      I just remove the dummy functions in  CrtWrapper.c, the build process is
> successful.
>  Is that right?
> 
>      BTW, I think someone maybe does not know how to run perl script for
> openssl library init,  so I write down my trying steps under windows 7 64 bit
> for your reference:
>  1. download and install ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
> 2. cmdline run "ppm install dmake"
> 3. download openssl-1.1.0e.tar.gz and unpack it to
> CryptoPkg/Library/OpensslLib/openssl.
> 4. rename "openssl\Configure" to "openssl\Configure.pl"
> 5. modify file process_files.pl line 49:  "./Configure" -> "Configure.pl"
> 6. under cmdline, cd to "CryptoPkg\Library\OpensslLib" and run
> "process_files.pl"

Use "Perl process_files.pl" is fine enough.
If you are using Windows and installed Git-Windows, just run "perl process_files.pl"
In your Git Bash (Perl should be included in your MINGW environment).

> 
>      Thank you.
> 
> 
> 
>   ------------------
>   BR
>  winddy_zhang
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.
  2017-04-13  6:06   ` CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined winddy
@ 2017-04-13  6:29     ` Long, Qin
  2017-04-13  7:12       ` CryptoPkg compiles error: BIO_printf() andBIO_snprintf()redefined winddy
  0 siblings, 1 reply; 5+ messages in thread
From: Long, Qin @ 2017-04-13  6:29 UTC (permalink / raw)
  To: winddy, edk2-devel

In general, the user needn’t to run “process_files.pl” to re-generate the INF file, if you are using the latest release (e.g. current 1.1.0e stated in the OpenSSL-HOWTO).
You can re-produce your INF file if any customization requirement (new OpenSSL version, new config flags, …).

Theprocss_files.pl was originally created in UNIX-like style (“#!/usr/bin/perl –w”).
So no more validations on those third-party Perl utility (ActivePerl, Strawberry, etc). Of cause, I can take a look at those Perl environments later.


Best Regards & Thanks,
LONG, Qin

From: winddy [mailto:winddy_zhang@foxmail.com]
Sent: Thursday, April 13, 2017 2:06 PM
To: Long, Qin <qin.long@intel.com>; edk2-devel <edk2-devel@lists.01.org>
Subject: RE: [edk2] CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.

 Hi Qin,
    So currently  our CryptoPkg init does not support third party perl tool such as  ActivePerl ?
    Thanks.

------------------
BR
winddy_zhang



------------------ Original ------------------
From:  "Long, Qin";<qin.long@intel.com<mailto:qin.long@intel.com>>;
Date:  Thu, Apr 13, 2017 01:08 PM
To:  "winddy"<winddy_zhang@foxmail.com<mailto:winddy_zhang@foxmail.com>>; "edk2-devel"<edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>>;
Subject:  RE: [edk2] CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.



> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> winddy
> Sent: Thursday, April 13, 2017 10:39 AM
> To: edk2-devel <edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>>
> Subject: [edk2] CryptoPkg compiles error: BIO_printf() and BIO_snprintf()
> redefined.
>
> Hi experts,
>      Now I compile CryptoPkg in lastest UDK, I find there is a build error:
>
>  BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_snprintf already
> defined i n OpensslLib.lib(b_print.obj)
> BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_printf already defined
> in
> OpensslLib.lib(b_print.obj)
> d:\project\udkapp\udkapp\Build\WinddyPkg\RELEASE_DDK7600\X64\Windd
> yPkg\Dxe\Crypt
> Dxe\CryptDxe\DEBUG\CryptDxe.dll : fatal error LNK1169: one or more
> multiply defi ned symbols found

Please check your OpensslLib.inf, the b_print.c should not be there.
And the process_file.pl should filter this file into the final file list in INF.

>
>      Both c file "CryptoPkg\Library\BaseCryptLib\SysCall\CrtWrapper.c" and c
> file "CryptoPkg\Library\OpensslLib\openssl\crypto\bio\b_print.c" defined
> function BIO_printf(), BIO_snprintf().
>
>      I just remove the dummy functions in  CrtWrapper.c, the build process is
> successful.
>  Is that right?
>
>      BTW, I think someone maybe does not know how to run perl script for
> openssl library init,  so I write down my trying steps under windows 7 64 bit
> for your reference:
>  1. download and install ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
> 2. cmdline run "ppm install dmake"
> 3. download openssl-1.1.0e.tar.gz and unpack it to
> CryptoPkg/Library/OpensslLib/openssl.
> 4. rename "openssl\Configure" to "openssl\Configure.pl"
> 5. modify file process_files.pl line 49:  "./Configure" -> "Configure.pl"
> 6. under cmdline, cd to "CryptoPkg\Library\OpensslLib" and run
> "process_files.pl"

Use "Perl process_files.pl" is fine enough.
If you are using Windows and installed Git-Windows, just run "perl process_files.pl"
In your Git Bash (Perl should be included in your MINGW environment).

>
>      Thank you.
>
>
>
>   ------------------
>   BR
>  winddy_zhang
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> https://lists.01.org/mailman/listinfo/edk2-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: CryptoPkg compiles error: BIO_printf() andBIO_snprintf()redefined.
  2017-04-13  6:29     ` Long, Qin
@ 2017-04-13  7:12       ` winddy
  0 siblings, 0 replies; 5+ messages in thread
From: winddy @ 2017-04-13  7:12 UTC (permalink / raw)
  To: Long, Qin, edk2-devel

Hi Qin,
     Got it!
     I thought openssl must be modified before using it as UDK code uses patch tool to handle it before. 
     I try to just unpack openssl then build it, it is OK.
     Thank you.
  
  
  ------------------
  BR
 winddy_zhang


  
  

 

 ------------------ 原始邮件 ------------------
  发件人: "Long, Qin";<qin.long@intel.com>;
 发送时间: 2017年4月13日(星期四) 下午2:29
 收件人: "winddy"<winddy_zhang@foxmail.com>; "edk2-devel"<edk2-devel@lists.01.org>; 
 
 主题: RE: [edk2] CryptoPkg compiles error: BIO_printf() andBIO_snprintf()redefined.

 

  
In general, the user needn’t to run “process_files.pl” to re-generate the INF file, if you are using the latest release (e.g. current 1.1.0e stated in the OpenSSL-HOWTO). 
 
You can re-produce your INF file if any customization requirement (new OpenSSL version, new config flags, …).
 
 
 
Theprocss_files.pl was originally created in UNIX-like style (“#!/usr/bin/perl –w”).
 
So no more validations on those third-party Perl utility (ActivePerl, Strawberry, etc). Of cause, I can take a look at those Perl environments later. 
 
 
 
 
 
Best Regards & Thanks,
 
LONG, Qin
 
 
    
From: winddy [mailto:winddy_zhang@foxmail.com] 
Sent: Thursday, April 13, 2017 2:06 PM
To: Long, Qin <qin.long@intel.com>; edk2-devel <edk2-devel@lists.01.org>
Subject: RE: [edk2] CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.


 
 
   
 Hi Qin,
    So currently  our CryptoPkg init does not support third party perl tool such as  ActivePerl ?
    Thanks.


  
 

   
------------------

   
BR

  
winddy_zhang



  
 

   
 

  
 

  
------------------ Original ------------------

   
From:  "Long, Qin";<qin.long@intel.com>;

  
Date:  Thu, Apr 13, 2017 01:08 PM

  
To:  "winddy"<winddy_zhang@foxmail.com>; "edk2-devel"<edk2-devel@lists.01.org>; 

  
Subject:  RE: [edk2] CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined.


  
 

 


> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> winddy
> Sent: Thursday, April 13, 2017 10:39 AM
> To: edk2-devel <edk2-devel@lists.01.org>
> Subject: [edk2] CryptoPkg compiles error: BIO_printf() and BIO_snprintf()
> redefined.
> 
> Hi experts,
>      Now I compile CryptoPkg in lastest UDK, I find there is a build error:
> 
>  BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_snprintf already
> defined i n OpensslLib.lib(b_print.obj)
> BaseCryptLib.lib(CrtWrapper.obj) : error LNK2005: BIO_printf already defined
> in
> OpensslLib.lib(b_print.obj)
> d:\project\udkapp\udkapp\Build\WinddyPkg\RELEASE_DDK7600\X64\Windd
> yPkg\Dxe\Crypt
> Dxe\CryptDxe\DEBUG\CryptDxe.dll : fatal error LNK1169: one or more
> multiply defi ned symbols found

Please check your OpensslLib.inf, the b_print.c should not be there.
And the process_file.pl should filter this file into the final file list in INF.

> 
>      Both c file "CryptoPkg\Library\BaseCryptLib\SysCall\CrtWrapper.c" and c
> file "CryptoPkg\Library\OpensslLib\openssl\crypto\bio\b_print.c" defined
> function BIO_printf(), BIO_snprintf().
> 
>      I just remove the dummy functions in  CrtWrapper.c, the build process is
> successful.
>  Is that right?
> 
>      BTW, I think someone maybe does not know how to run perl script for
> openssl library init,  so I write down my trying steps under windows 7 64 bit
> for your reference:
>  1. download and install ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
> 2. cmdline run "ppm install dmake"
> 3. download openssl-1.1.0e.tar.gz and unpack it to
> CryptoPkg/Library/OpensslLib/openssl.
> 4. rename "openssl\Configure" to "openssl\Configure.pl"
> 5. modify file process_files.pl line 49:  "./Configure" -> "Configure.pl"
> 6. under cmdline, cd to "CryptoPkg\Library\OpensslLib" and run
> "process_files.pl"

Use "Perl process_files.pl" is fine enough.
If you are using Windows and installed Git-Windows, just run "perl process_files.pl"
In your Git Bash (Perl should be included in your MINGW environment).

> 
>      Thank you.
> 
> 
> 
>   ------------------
>   BR
>  winddy_zhang
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-04-13  7:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-13  2:39 CryptoPkg compiles error: BIO_printf() and BIO_snprintf() redefined winddy
2017-04-13  5:08 ` Long, Qin
2017-04-13  6:06   ` CryptoPkg compiles error: BIO_printf() andBIO_snprintf() redefined winddy
2017-04-13  6:29     ` Long, Qin
2017-04-13  7:12       ` CryptoPkg compiles error: BIO_printf() andBIO_snprintf()redefined winddy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox