From: winddy <winddy_zhang@foxmail.com>
To: "Long, Qin" <qin.long@intel.com>, edk2-devel <edk2-devel@lists.01.org>
Subject: Re: CryptoPkg compiles error: BIO_printf() andBIO_snprintf()redefined.
Date: Thu, 13 Apr 2017 15:12:09 +0800 [thread overview]
Message-ID: <tencent_02384FED3820BF871867DF5B@qq.com> (raw)
In-Reply-To: <BF2CCE9263284D428840004653A28B6E53F90B69@SHSMSX103.ccr.corp.intel.com>
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
prev parent reply other threads:[~2017-04-13 7:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` winddy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tencent_02384FED3820BF871867DF5B@qq.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox