Ошибка при создании openwsman в Ubuntu 12.04

Я пытаюсь собрать openwsman (2.3.0 скачал вчера с официального сайта) на Ubunutu 12.04. Я следую инструкции, найденной в 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

У кого-нибудь есть идеи как это исправить?

1 ответ

Решение

Я наконец смог решить эту проблему. Оказывается, мне нужно было изменить файл CMakeLists в библиотеке openwsman.

Что мне нужно было изменить, так это библиотеки, связанные с 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, и это устраняет ошибки компоновщика.

Надеюсь, что этот ответ поможет кому-то решить эту проблему быстрее, чем я.

Другие вопросы по тегам