我正在尝试在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有没有人知道怎么解决这个问题?
发布于 2013-04-04 15:55:17
我终于能够解决这个问题了。原来我需要修改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链接,这解决了链接器错误。
希望这个答案能帮助别人比我更快地解决这个问题。
https://stackoverflow.com/questions/15634322
复制相似问题