2017-09-01 103 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

添加鏈接到郵件列表線程。 –