Я пытаюсь создать 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?
Хорошо, это, кажется, проблема сценариев сборки libKTorrent. Это использует cmake's find_package_handle_standard_args()
с regexps, которые ожидают только x.y.z
как версию а не x.y.z-beta
или x.y.z.-alpha1
. И текущий libgcrypt-dev в человечности имеет версию 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