2016-12-26 96 views
0

我在使用OpenSSL构建ACE_SSL库时遇到了问题。Building ACE_SSL

我正在使用ACE 6.4.1和OpenSSL 1.1.0c这是github上的最新版本(我认为这些是兼容的权利,即使构建ACE SSL指令似乎引用out32和inc32似乎是输出建立以前版本的OpenSSL,而不是这一个)。

我设法构建了openssl,所有测试都运行正常。从那以后,我跑了.mwc脚本ACE带着像这样:

bin\mwc.pl -type vc14 -features "ssl=1" ACE.mwc

这个生成一个Visual Studio 2015年解决方案,它现在确实含有一个项目叫做SSL和其他几个相关的项目。然而,当我尝试构建时,编译器抱怨使用了不完整类型“BIO_METHOD”,它是openssl头文件“bio.h”中定义的“struct bio_method_st”的typedef。

在openssl文件夹中为“struct bio_method_st”搜索时,我只能找到它的一个引用,它在头部,但它只包含声明而不包含定义。与旧版的openssl online相比,该标题也用于包含定义。

我还发现了一个回购在线与一个脚本,下载并建立王牌使用SSL,64位版本在这里:

https://github.com/sphawk/build-ace

运行该脚本,并建立确定,但它使用ACE版本6.3.3和OpenSSL版本1.0.2f(今年1月份发布)。我可以轻松修改它来构建我需要的32位库,并将其更改为使用最新版本的ACE。使用最新版本的openssl需要多一点修改,因为构建步骤已更改,所以我可以节省时间并使用该版本的openssl。这会带来什么问题吗?我认为,即使新版本改进了某些方面,它也不会使旧版本过时了吗?

底线是我无法弄清楚,如果问题是我做错了什么,或者如果ACE与此版本的openssl不兼容,我应该使用较旧的版本。我只是想发布这个以防万一任何人碰到类似的东西,并且可以在我做任何额外的工作之前指向正确的方向。谢谢!

+1

可能ACE尚未与这个新的OpenSSL版本兼容,请提出问题并希望在ACE/TAO github项目 –

回答

1

ACE还不支持OpenSSL 1.1.x。请为此在github上打开一个问题。也许你可以创建一个修复程序,如果是这样,请打开一个需要更改的请求。

+0

上提出此请求。另请参见[错误:“使用不完整类型'RSA {aka struct rsa_st}“在OpenSSL 1.1.0](http://stackoverflow.com/q/40549318)中提供了关于守护双版本代码的建议(1.0.2及更低版本和1.1.0及更高版本)。 OpenSSL还在[Library Initialization |中提供了一些Autotools提示Autoconf)](https://wiki.openssl.org/index.php/Library_Initialization#Autoconf)。 – jww