Compilação libktorrent-2.0.1 - LibGcrypt 1.7.2-beta, mas pelo menos “1.4.5” exigido

0

Estou a tentar construir o KTorrent 5.0.1 para o meu Kubuntu 16.10
requer libKTorrent > 1,9,50.
Então estou construindo libKTorrent 2.0.1
Fontes de ambos estão aqui: link

E eu estou preso com libKTorrent no seguinte:

 $ 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".

Como eu entendo, estou tendo uma nova versão do libgcrypt20-dev, mas não funciona. A instalação do libgcrypt11-dev também não ajuda. Alguma idéia de como fazer isso funcionar com o 1.7.2 ou obter uma versão apropriada do libgcrypt-dev no Kubuntu?

    
por truf 21.02.2017 / 15:38

1 resposta

0

Ok, parece ser o problema dos scripts de construção da libKTorrent. Ele usa find_package_handle_standard_args() do cmake com regexps que esperam apenas x.y.z como uma versão e não x.y.z-beta ou x.y.z.-alpha1 . E o libgcrypt-dev atual no ubuntu tem a versão 1.7.2-beta .

Para resolver isso, é necessário alterar substrings em "^.*GCRYPT_VERSION[ ]+\"([0-9]).([0-9]).([0-9])\".*$" para "^.*GCRYPT_VERSION[ ]+\"([0-9]).([0-9]).([0-9]).*\".*$" em libktorrent-2.0.1 / cmake / FindLibGcrypt.cmake

    
por truf 21.02.2017 / 16:34