Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как исправить ошибки поиска библиотек в cmake? 
:(
    Опции темы
rMaveric
Дата 5.9.2015, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 18.7.2003

Репутация: нет
Всего: 6



Пытаюсь разобраться с cmake для автоматизации сборки кросплатформенных приложений. Дошел до использования сторонних библиотек и столкнулся со следующей проблемой.

Пример на гитхабе. В качестве примера был взят код с Curl, который прекрасно компилируется и работает.

Составил CMakeLists.txt для данного проекта. И попытался собрать, сборку тестов провожу в 2-х системах FreeBSD 10 и Fedora 21. И наткнулся на проблему с поиском библиотек. Сломал за 3 дня поиска голову, но проблему так и не решил. 

Код

Попытка сборки в Fedora выдает ошибку поиска библиотеки.
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
  Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindLibXml2.cmake:69 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:9 (find_package)


При этом плагин поиска FindLibXml2.cmake лежит в положенном ему месте. Но не находит.

Под FreeBSD 10 эта же операция ошибки не выдает и создает Makefile, который не работает. При поиске проблем обнаружил, что поиск библиотеки в переменную LIBXML2_INCLUDE_DIRS вместо правильного пути (/usr/local/include/libxml2/) записывает следующий /usr/local/include/usr/include/usr/include

И при попытке сборки полученным Makefile получаем ошибку о невозможности найти заголовочные файлы в указанных директориях. Если вручную переписать значение LIBXML2_INCLUDE_DIRS, то сформированный Makefile прекрасно собирает программу.

После столь долгого и, прошу прощения, сумбурного объяснения два вопроса.

1. Кто виноват? (как понимаю, неправильные модули поиска библиотеки LibXml2 для cmake?)
2. Что делать? (как обеспечить "безпроблемную" сборку на разных системах, ведь подобные глюки могут проявляться на разных ОС и с разными библиотеками? Все не проверить, и я как раз по этой причине и хочу использовать cmake)?


--------------------
Моя благодарность не будет иметь границ. в определенных рамках конечно ;)
---
Веду IT блог
PM MAIL WWW ICQ   Вверх
leniviy
Дата 5.9.2015, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



У меня находит. Проверьте наличие файлов:
Код

/usr/lib/cmake/libxml2/libxml2-config.cmake
/usr/lib/pkgconfig/libxml-2.0.pc


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | GNU toolchain | Следующая тема »


 




[ Время генерации скрипта: 0.0997 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.