1

Fedora14 マシンで「gloox」ライブラリをコンパイルしようとすると、このエラー メッセージが表示されます。

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 マシンで利用できます。

この問題を解決するのを手伝ってください。

4

1 に答える 1

1

gloox のこのコードには、楕円曲線暗号 (ECC) をサポートするバージョンの OpenSSL が必要です。Fedora/Redhat は、知的財産上の懸念から、ECC サポートなしでコンパイルされたバージョンの OpenSSL を出荷しています。Gloox は ECC 関連のコードをラップする必要があります

#ifndef OPENSSL_NO_EC
// ECC related OpenSSL calls
#endif

OpenSSL のプリプロセッサ定義を使用するか、autoconf を使用して OpenSSL での ECC サポートを検出し、自動構成された条件を使用して ECC を無効にした OpenSSL をサポートします。

または、ECC を有効にして独自の OpenSSL を構築し、それに対して Gloox を構築することもできます。

于 2013-02-10T12:25:33.537 に答える