2017-09-01 58 views
-1

我正在尝试构建最新版本的Apache ActiveMQ-CPP,它是3.9.4。我已经构建了所需的依赖关系,APR和OpenSSL。对于OpenSSL,这是版本1.1.0f。我能够在没有SSL支持的情况下构建全部4个配置(Debug,DebugDLL,Release,ReleaseDLL)。然而,试图建立支持SSL的结果中的任何一个号码错误:ActiveMQ-CPP 3.9.4是否支持OpenSSL 1.1.0?

.. \ SRC \主\无咖啡因\内部\网络\ SSL \ OpenSSL的\ OpenSSLContextSpi.cpp(186):错误C3861:' CRYPTO_malloc_init':identifier not found
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(667):error C2027:使用未定义的类型'X509_extension_st'
C:\ OpenSource \ OpenSSL \ 1.1.0f \ include \ openssl/x509.h(79):note:参阅'X509_extension_st'的声明
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(667):错误C2227:' - >值'左侧必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(667):错误C2227:' - > data'的左侧必须指向类/结构体/联合体/泛型类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2027:使用未定义类型'X509_extension_st'
C:\ OpenSource \ OpenSSL \ 1.1.0f \ include \ openssl/x509 .h(79):note:see declaration of'X509_extension_st'
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):error C2227:' - > value'必须指向类/结构/联合/通用类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2227:' - > length'的左侧必须指向class/struct/union/generic type
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(670):错误C2660:'ASN1_item_d2i':函数不需要3个参数
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket。 cpp(671):错误C2027:使用未定义类型'X509_extension_st'
C:\ OpenSource \ OpenSSL \ 1.1.0f \ include \ openssl/x509.h(79):note:参见'X509_extension_st'
的声明。 \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2227:' - > value'的左边必须指向class/struct/union/generic类型
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):error C2227:' - > length'的左边必须指向class/struct/union/generic类型
.. \ src \ main \无咖啡因\内部\网络\ SSL \ OpenSSL的\ OpenSSLSocket。 cpp(671):错误C2198:'X509V3_EXT_D2I':调用的参数太少
.. \ src \ main \ decaf \ internal \ net \ ssl \ openssl \ OpenSSLSocket.cpp(671):错误C2198:'X509V3_EXT_I2V':通话参数太少

由于在3.2.0版本中增加了支持,发行说明并未提及有关OpenSSL的任何内容。但是,包含在ActiveMQ-CPP 3.9.4下载状态中的README.txt文件:

如果您希望使用SSL传输,那么您需要在系统上安装OpenSSL及其包含。我们建议您使用1.0.0或更高版本以获得最佳性能和安全性,但0.9.8版本也是可行的。

This StackOverflow question似乎表明我的第一个错误(参见上面)意味着ActiveMQ-CPP不支持OpenSSL 1.1.0。但是,关于缺少OpenSSL 1.1,在ActiveMQ-CPP Jira site上似乎没有提交任何问题。0的支持,他们自己的文档明确指出我应该能够使用“版本1.0.0或更高版本”。

有谁知道ActiveMQ-CPP 3.9.4是否支持OpenSSL 1.1.0?

+0

从引用问题的答案之一中看到... [Apache Issue 60061 - OpenSSL 1.1.0 support](https://bz.apache.org/bugzilla/show_bug.cgi?id=60061)。 – jww

+0

@jww这个问题,我提供了一个链接,是针对不同的产品。您发布的链接是针对Apache httpd-2报告的问题,而不是Apache ActiveMQ-CPP报告的问题。 –

+0

向下选民关怀评论?有关如何改进问题的任何建议? –

回答

1

客户端不支持ActiveMQ mailing lists上报告的OpenSSL 1.1.0。我认为任何人都不屑于为此提出问题。

+0

您能否提供一个链接,以便您在ActiveMQ邮件列表中找到该信息的位置?我无法找到它。 –

+0

添加链接到邮件列表线程。 –