3

Ubunutu 12.04でopenwsman(昨日公式ウェブサイトからダウンロードした2.3.0)を構築しようとしています。README.mdにある指示に従い、いくつかの追加パッケージをインストールした後、最終的にコマンドcmake ..を成功させました。

ただし、実行するmakeと、次のエラーが発生します。

Linking C executable test_list
../libwsman_curl_client_transport.so.1.0.0: undefined reference to `X509_digest'
../libwsman_curl_client_transport.so.1.0.0: undefined reference to `SSL_CTX_set_cert_verify_callback'
../libwsman_curl_client_transport.so.1.0.0: undefined reference to `SSL_CTX_set_verify'
../libwsman_curl_client_transport.so.1.0.0: undefined reference to `EVP_sha1'
collect2: ld returned 1 exit status
make[2]: *** [src/lib/test/test_list] Error 1
make[1]: *** [src/lib/test/CMakeFiles/test_list.dir/all] Error 2

誰かがそれを修正する方法を知っていますか?

4

1 に答える 1

1

私はついにこの問題を解決することができました。openwsmanライブラリのCMakeListsファイルを変更する必要があることがわかりました。

変更する必要があるのは、にリンクされているライブラリlibwsman_curl_client_transportです。この問題を修正するには、ファイルを開きsrc/lib/CMakeLists.txt(openwsmanベースディレクトリにいると仮定します)、次のような行を変更します。

TARGET_LINK_LIBRARIES( wsman_curl_client_transport ${CURL_LIBRARIES})

TARGET_LINK_LIBRARIES( wsman_curl_client_transport ${CURL_LIBRARIES} ssl crypto)

私がダウンロードしたopenwsmanディストリビューション(openwsman2.3.0)では、これは記述されたファイルの53行目です。

ここで行うことは、指定されたライブラリにcryptoおよびsslにもリンクするように指示することです。これにより、リンカーエラーが解決されます。

この回答が、誰かが私よりも早くこの問題を解決するのに役立つことを願っています。

于 2013-04-04T07:55:17.430 に答える