2013-03-26 80 views
2

我想在Ubunutu 12.04上制作openwsman(昨天从官方网站下载的2.3.0)。我遵循README.md中的指令,并安装了几个附加软件包后,我终于得到命令cmake ..成功。在ubuntu上制作openwsman时出错12.04

然而,当我运行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 

有没有人有一个想法如何解决呢?

回答

0

我终于可以解决这个问题。事实证明,我需要在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链接,这解决了链接器错误。

希望这个答案可以帮助某人解决这个问题的方式比我更快。