다음 패키지를 설치해 보았습니다.
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
하지만 종속성 실패 오류가 발생합니다.
[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
물론 다음 종속성을 설치해 보았습니다.
[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
하지만 위에서 볼 수 있듯이 패키지가 "이미 설치되어 있다"고 "조치가 필요하지 않습니다"라는 말을 들었습니다.
패키지가 이미 설치되어 있는 경우 이는 의미가 없습니다. 그렇다면 libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm 설치가 이 종속성을 찾을 수 없기 때문에 실패하는 이유는 무엇입니까?
답변1
설치했지만 gnutls-3.3.26-9.el7.i686
그게 아니고 libgnutls.so.28()(64bit)
32비트입니다.
gnutls-3.3.26-9.el7.x64_86
설치하려는 아키텍처와 일치하는 올바른 아키텍처인 를 설치해야 합니다 .
답변2
이 시도,
설치하려는 라이브러리 i686
는 무엇입니까 32-bit
? 오류에는 라이브러리가 필요하다는 libmicrohttpd
것이 명확하게 명시되어 있습니다 64-bit
.
이것을 참조하세요협회원하는 RPM을 얻으려면
기본 아키텍처에 가장 적합한 패키지를 설치하도록 yum
via를 구성할 수도 있습니다 . /etc/yum.conf
수정해야 할 매개변수 yum.conf
는 입니다 multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
모두는 설치하려는 패키지에 대해 가능한 모든 아키텍처를 설치하는 것을 의미합니다. 따라서 가능한 경우 yum install foo가 설치됩니다 foo.i386 and foo.x86_64 on x86_64
. 최고는 이 플랫폼에 가장 적합한 아치만 설치하는 것을 의미합니다. 자세한 내용은 여기를 참조하세요페이지이답변.
기본 아키텍처를 이해하려면 다음을 실행하세요.
uname -m
답변3
yum
종속성을 관리 할 수 있도록 직접 사용하는 것이 항상 더 나은 아이디어입니다 yum
.
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm