Você instalou gnutls-3.3.26-9.el7.i686
, mas isso não é libgnutls.so.28()(64bit)
, é 32bits.
Você precisa instalar o gnutls-3.3.26-9.el7.x64_86
, que é a arquitetura correta para corresponder ao que você está tentando instalar.
Eu tentei instalar o seguinte pacote:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
Mas recebi um erro devido a falhas nas dependências:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
error: Failed dependencies:
libgnutls.so.28()(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
libgnutls.so.28(GNUTLS_1_4)(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
Naturalmente, tentei instalar essas dependências:
[root@localhost ~]# yum install libgnutls.so.28
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vooservers.com
* epel: pkg.adfinis-sygroup.ch
* extras: mirrors.melbourne.co.uk
* updates: mirrors.melbourne.co.uk
Package gnutls-3.3.26-9.el7.i686 already installed and latest version
Nothing to do
Mas, como você pode ver acima, me disseram que o pacote já está "instalado" e não há "nada a fazer".
Isso não faz sentido para mim se o pacote já está instalado, então por que a instalação de libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm está falhando porque não consegue encontrar essa dependência?
Você instalou gnutls-3.3.26-9.el7.i686
, mas isso não é libgnutls.so.28()(64bit)
, é 32bits.
Você precisa instalar o gnutls-3.3.26-9.el7.x64_86
, que é a arquitetura correta para corresponder ao que você está tentando instalar.
Tente isso,
Você estava instalando i686
, que é uma biblioteca 32-bit
. O erro indica claramente que libmicrohttpd
precisa de uma biblioteca 64-bit
.
Consulte este para obter o RPM necessário.
Você também pode configurar yum
via /etc/yum.conf
para instalar o pacote mais adequado para a arquitetura subjacente. O parâmetro a ser modificado em yum.conf
é multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
Tudo significa instalar todos os arcos possíveis para qualquer pacote que você queira instalar. Portanto, o yum install foo instalará foo.i386 and foo.x86_64 on x86_64
, se estiver disponível. Melhor meio de instalar o melhor arco para esta plataforma, apenas. Para mais consulte esta página e esta answer .
Para conhecer a arquitetura subjacente, execute
uname -m
é sempre uma melhor ideia usar yum
diretamente para permitir que yum
gerencie as dependências para você:
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
Tags software-installation rpm yum