CUPS libusbx-devel é um erro necessário ao tentar construir cups-1.7.1 a partir da fonte

1

Eu tenho tentado construir o CUPS 1.7.1 no RHEL 5.6 usando

$ sudo rpmbuild -ta ./cups-1.7.1-source.tar.bz2

e estava recebendo:

error: Failed build dependencies:
        libusbx-devel is needed by cups-1.7.1-1.x86_64

Eu já encontrei este CUPS STR 4336 ( link ) que descreveu o mesmo problema, com o comentário para usar a opção --without-libusb1 build. Então eu tentei correr:

sudo rpmbuild -ta ./cups-1.7.1-source.tar.bz2 --without-libusb1

mas agora está começando:

--without-libusb1: unknown option

Alguma idéia de como fazer isso e / ou o que estou fazendo de errado aqui?

    
por Rocket Surgeon 12.03.2014 / 00:27

2 respostas

1

O switch que você está tentando passar para rpmbuild é uma mudança para o que você normalmente forneceria em uma etapa configure se estivesse criando este pacote a partir da origem. Os detalhes de como você deseja que seu pacote seja compilado estão contidos em um arquivo .spec que provavelmente está dentro do seu arquivo .tar.gz2 .

Você pode descompactar o tarball e confirmar seu conteúdo, procurando por um arquivo .spec , mas suspeito que seu problema pode ser resolvido de forma mais simples instalando a biblioteca ausente, libusbx-devel . Então sugiro instalá-lo primeiro e tentar executar seu comando rpmbuild novamente.

$ sudo yum install libusbx-devel

Ou talvez seja conhecido assim:

$ sudo yum install libusb-devel

OK, isso não funcionou, e agora?

Portanto, se você tentou o que foi mencionado acima e seu único curso de ação é incluir a opção configure ausente, aqui está como eu prosseguirei.

$ mkdir somedir && cd somedir
$ tar jxvf /path/to/cups-1.7.1-source.tar.bz2

Uma espiada dentro do diretório descompactado mostra o arquivo .spec que estamos procurando:

$ find . | grep '\.spec$'
./cups-1.7.1/packaging/cups.spec

Se você tiver mais desse arquivo, você verá esta seção no topo:

# Conditional build options (--with name/--without name):
#
#   dbus     - Enable/disable DBUS support (default = enable)
#   dnssd    - Enable/disable DNS-SD support (default = enable)
#   libusb1  - Enable/disable LIBUSB 1.0 support (default = enable)
#   static   - Enable/disable static libraries (default = enable)

Você pode usá-los com a opção --without X para desativá-los ao usar rpmbuild , assim:

$ rpmbuild -ta cups-1.7.1-source.tar.bz2 --without libusb1

Se você precisar desativar outras pessoas, basta adicionar mais --without X switches:

$ rpmbuild -ta cups-1.7.1-source.tar.bz2 --without libusb1 --without dbus

Referências

por 12.03.2014 / 04:19
1

Eu tive o mesmo problema e resolvi por:

# rpmbuild -ta cups-1.7.1-source.tar.bz2 --without dbus --without libusb1

link

Nota: Estou usando o CentOS 6.5 (Final)

    
por 12.03.2014 / 04:04