* 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