CentOS 7 서버에 여러 오픈 소스 라이브러리를 설치하려고 하는데, 모두 다소 복잡한 상호 의존성 네트워크를 형성합니다. 예를 들어 내가 잘못 설치 한 LibA
종속성이 있는 버전 제어 충돌("라이브러리 지옥")이 없는지 확인해야 합니다 .LibB v.1.2
LibB v0.9
그래서 나는 다음이 필요합니다:
- 필요한 각 라이브러리의 버전을 알아낸 다음(모두 서로의 올바른 버전에 의존하도록)
yum
올바른 버전을 설치 하려면
나중에 특정 라이브러리에 대해 언급하겠지만 문제는 다음과 같이 요약될 수 있다고 생각합니다.어느라이브러리 간에 상호 의존성이 있는 시나리오 yum
.
특히 다음을 설치하려고 합니다.
libpng-dev
(PNG 라이브러리)libjpeg-dev
(JPEG 라이브러리)libtiff-dev
(TIFF 라이브러리)libopencv-dev
(오픈CV)
문제는 OpenCV가 처음 세 가지에 의존한다는 것입니다. 따라서 yum
나에게 설치된 PNG, JPEG, TIFF 라이브러리 버전이 OpenCV에서 기대하는 버전과도 호환되는지 확인해야 합니다 .
또한 이 4개 라이브러리 각각에 대해 명령을 실행하여 현재 시스템에 설치된 정확한 버전을 확인하고 싶습니다.
어디서부터 시작할 수 있는지에 대한 아이디어가 있나요? 미리 감사드립니다!
답변1
제가 이해한 바에 따르면, 귀하의 질문은 두 부분으로 나누어져 있습니다:
- 각 라이브러리의 필수 버전을 찾는 방법은 무엇입니까?
- 올바른 버전을 설치하는 방법은 무엇입니까?
답변 (1): yum deplist $PACKAGE
어떤 종속성이 필요한지 보여주는 데 도움이 됩니다.
[root@centos7 ~]# rpm -qi libopencv-dev
package libopencv-dev is not installed
[root@centos7 ~]# yum deplist libopencv-dev
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: muug.ca
* extras: mirror.its.sfu.ca
* updates: mirror.its.sfu.ca
[root@centos7 ~]# rpm -qi expect
package expect is not installed
[root@centos7 ~]# yum deplist expect
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: muug.ca
* extras: mirror.its.sfu.ca
* updates: mirror.its.sfu.ca
package: expect.x86_64 5.45-14.el7_1
dependency: /bin/sh
provider: bash.x86_64 4.2.46-20.el7_2
dependency: libc.so.6(GLIBC_2.14)(64bit)
provider: glibc.x86_64 2.17-106.el7_2.8
dependency: libdl.so.2()(64bit)
provider: glibc.x86_64 2.17-106.el7_2.8
dependency: libm.so.6()(64bit)
provider: glibc.x86_64 2.17-106.el7_2.8
dependency: libm.so.6(GLIBC_2.2.5)(64bit)
provider: glibc.x86_64 2.17-106.el7_2.8
dependency: libtcl8.5.so()(64bit)
provider: tcl.x86_64 1:8.5.13-8.el7
dependency: libutil.so.1()(64bit)
provider: glibc.x86_64 2.17-106.el7_2.8
dependency: libutil.so.1(GLIBC_2.2.5)(64bit)
provider: glibc.x86_64 2.17-106.el7_2.8
dependency: rtld(GNU_HASH)
provider: glibc.x86_64 2.17-106.el7_2.8
provider: glibc.i686 2.17-106.el7_2.8
[root@centos7 ~]#
답변 (2)에 대한 답변은 다음과 같습니다.이 문제"특정 버전의 패키지 X를 설치하도록 yum에 어떻게 지시합니까?"에 대한 추가 정보