Сборка libktorrent-2.0.1 - LibGcrypt 1.7.2-beta, но требуется как минимум "1.4.5"

Я пытаюсь собрать KTorrent 5.0.1 для моего Kubuntu 16.10
требует libKTorrent > 1.9.50.
Итак, я собираю libKTorrent 2.0.1
Источники их обоих находятся здесь: http://download.kde.org/stable/ktorrent/5.0/

И я застрял с libKTorrent на следующем:

 $ cmake CMakeLists.txt 
-- Boost version: 1.57.0
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find LibGcrypt: Found unsuitable version "#define GCRYPT_VERSION
  "1.7.2-beta".#define GCRYPT_VERSION "1.7.2-beta".#define GCRYPT_VERSION
  "1.7.2-beta"", but required is at least "1.4.5" (found /usr/include)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:386 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindLibGcrypt.cmake:108 (find_package_handle_standard_args)
  CMakeLists.txt:61 (find_package)


-- Configuring incomplete, errors occurred!
See also "/tmp/libktorrent-2.0.1/CMakeFiles/CMakeOutput.log".

Как я понимаю, у меня более новая версия libgcrypt20-dev, но она не работает. Установка libgcrypt11-dev тоже не помогает. Есть идеи, как заставить ее работать с 1.7.2 или получить правильную версию libgcrypt-dev на Kubuntu?

1 ответ

Ладно, похоже, это проблема скриптов сборки libKTorrent. Он использует cmake's find_package_handle_standard_args() с регулярными выражениями, которые ожидают только x.y.z как версия а не x.y.z-beta или же x.y.z.-alpha1, И текущая libgcrypt-dev в Ubuntu имеет версию 1.7.2-beta,

Чтобы решить эту проблему, необходимо изменить подстроки
"^.*GCRYPT_VERSION[ ]+\"([0-9]).([0-9]).([0-9])\".*$" в
"^.*GCRYPT_VERSION[ ]+\"([0-9]).([0-9]).([0-9]).*\".*$" в libktorrent-2.0.1/cmake/FindLibGcrypt.cmake

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