pbuilder-dist dh_build não consegue encontrar / instalar o debian / control Depends

1

Eu tenho seguido o tutorial 6. Empacotando Novo Software sobre como criar um pacote Ubuntu / Debian. Eu consegui o exemplo de hello com sucesso, mas tenho tido alguns problemas com meu próprio pacote de biblioteca compartilhada.

Eu construí o pacote com sucesso executando o seguinte comando:

bzr builddeb -- -us -uc

No entanto, quando tento construir o pacote com pbuilder-dist (que supostamente imita as condições de uma nova distribuição), recebo um erro relacionado a bibliotecas ausentes do qual o meu pacote depende. Eu corro:

pbuilder-dist trusty build libnpregression_1.0-0ubuntu1.dsc 

e obtenha:

 debian/rules build
dh build 
   dh_testdir
   dh_auto_configure
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/x86_64-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Could NOT find Armadillo (missing:  ARMADILLO_LIBRARY ARMADILLO_INCLUDE_DIR) 
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
  Unable to find the requested Boost libraries.

  Unable to find the Boost header files.  Please set BOOST_ROOT to the root
  directory containing Boost or BOOST_INCLUDEDIR to the directory containing
  Boost's headers.
Call Stack (most recent call first):
  CMakeLists.txt:27 (find_package)


CMake Error at CMakeLists.txt:33 (message):
  flann library not found


-- Configuring incomplete, errors occurred!
See also "/tmp/buildd/libnpregression-1.0/obj-x86_64-linux-gnu/CMakeFiles/CMakeOutput.log".
dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None returned exit code 1
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Parece que o pbuilder-dist não instalou essas dependências (armadillo, flann e boost).

O que me confunde é que essas dependências são especificadas no arquivo debian / control:

Source: libnpregression
Priority: optional
Maintainer: Guillaume de Chambrier <[email protected]>
Build-Depends: debhelper (>= 9), cmake
Standards-Version: 3.9.5
Section: libs
Homepage: https://github.com/gpldecha/non-parametric-regression


Package: libnpregression-dev
Section: libdevel
Architecture: any
Depends: libboost-all-dev, libnpregression1 (= ${binary:Version})
Description: Header files of non-parameteric regression library.
 This is an extended description of libnpregression-dev

Package: libnpregression1
Section: libs
Architecture: any
Depends: libflann-dev, libboost-all-dev, libarmadillo-dev, ${shlibs:Depends}, ${misc:Depends}
Description: Shared library files of non-parameteric regresion library.
 This is an extended description of libnpregression1

Eu gostaria de receber ajuda para resolver meu problema de dependência de compilação pbuilder-dist. Eu sou muito novo em empacotar projetos debian.

    
por Guillaume 13.12.2016 / 11:47

1 resposta

0

  • libflann-dev, libboost-all-dev, libarmadillo-dev deve ser adicionado ao campo Build-Depends: .
  • Depends: é dependências de tempo de execução.

Referência: Capítulo 7 - Declarando as relações entre os pacotes

Dica: deixe "Manual de política Debian" aberto.

    
por user.dz 22.04.2017 / 15:25