Atualizando o Berkeley DB rpm em um sistema operacional Centos

1

Eu tenho um software que precisa do Berkeley DB 4.5 ou superior.

Mas no meu servidor CentOS 5.11 x86_64 eu tenho:

  • Pacote db4-4.3.29-10.el5_5.2.x86_64 já instalado e versão mais recente
  • Pacote db4-4.3.29-10.el5_5.2.i386 já instalado e versão mais recente

Como posso atualizar esses rpm para uma versão mais recente? Eu tentei atualizar usando o Centos 6.6 rpm desta maneira:

rpm -Uvh ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm

mas recebo este erro:

Retrieving ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm
warning: /var/tmp/rpm-xfer.IKWqHE: Header V3 RSA/SHA1 signature: NOKEY, key ID c105b9de
error: Failed dependencies:
        rpmlib(FileDigests) <= 4.6.0-1 is needed by db4-4.7.25-18.el6_4.i686
        rpmlib(PayloadIsXz) <= 5.2-1 is needed by db4-4.7.25-18.el6_4.i686
        db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.i386
        db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.x86_64
        libdb-4.3.so is needed by (installed) subversion-1.6.11-12.el5_10.i386
        libdb-4.3.so is needed by (installed) pam_ccreds-3-5.i386
        libdb-4.3.so is needed by (installed) apr-util-1.2.7-11.el5_5.2.i386
        libdb-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386
        libdb_cxx-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386

Eu também tentei compilar a partir da fonte db-4.5.20.tar.gz . Eu compilei sem problemas, no entanto meu software ainda está vendo o Berkley DB pré-instalado no pacote rpm db4-4.3.29.

Alguma ajuda, por favor?

    
por gr68 28.01.2015 / 17:01

1 resposta

0

A resposta não óbvia aqui é instalar Yet Another Version do Berekeley DB em paralelo ao existente. Em seguida, compile os cabeçalhos / bibliotecas recém-instalados usando as sinalizações -I / usr / include / db-X.Y e -ldb-X.Y durante a construção.

A maneira mais fácil de evitar os cabeçalhos do "sistema" (ie #include "db.h") e bibliotecas (ie -ldb) durante a construção é (temporariamente) desinstalar o pacote db4-devel para assegurar que sua compilação use o -I / usr / inclui / db-XY e -ldb-XY sinalizadores durante a compilação. Reinstale o db4-devel depois.

    
por 07.10.2016 / 14:13