2013-02-05 55 views
1

當試圖在Fedora14機器上編譯「gloox」庫時,出現此錯誤消息。使用openssl庫編譯問題

tlsopensslserver.cpp:248:8: warning: unused parameter âis_exportâ 
tlsopensslserver.cpp: In member function âvirtual bool gloox::OpenSSLServer::privateInit()â: 
tlsopensslserver.cpp:257:5: error: âEC_KEY_new_by_curve_nameâ was not declared in this scope 
make[3]: *** [tlsopensslserver.lo] Error 1 
make[3]: Leaving directory `/root/Documents/RMSAgent/gloox-1.0/src' 

相同的代碼在Ubuntu機器上成功編譯。

openssl-devel軟件包在Fedora機器上可用。

請幫我解決這個問題。

+0

您能否請將tlsopensslserver.cpp的代碼從第240行發佈到第260行? – Arun

+0

@ArunSaha gloox是開源庫: – Anurag

+0

嗯...所以你希望貢獻者去從互聯網上找到該文件,並猜測這裏提到的版本? – Arun

回答

1

gloox中的這段代碼需要支持橢圓曲線加密(ECC)的OpenSSL版本。由於知識產權問題,Fedora/Redhat發佈了一個沒有ECC支持的OpenSSL版本。 Gloox應使用OpenSSL的預處理器定義包裹ECC相關的代碼在

#ifndef OPENSSL_NO_EC 
// ECC related OpenSSL calls 
#endif 

,或者使用autoconf檢測的OpenSSL ECC支持和使用自動配置的條件語句來支持OpenSSL的帶有ECC禁用。

或者,您可以構建自己的OpenSSL並啓用ECC,並針對此構建gloox。