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が最初の3つに依存することです。したがって、yum
私にインストールされているPNG、JPEG、TIFFライブラリのバージョンがOpenCVが期待するバージョンと互換性があることを確認する必要があります。
また、これら4つのライブラリのそれぞれに対してコマンドを実行して、現在システムにインストールされている正しいバージョンを確認したいと思います。
どこから始められるかというアイデアはありますか?よろしくお願いします!
答え1
私が理解したところによると、あなたの質問は2つの部分に分けられます:
- 各ライブラリの必須バージョンを見つける方法は?
- 正しいバージョンをインストールする方法は?
答え(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にどのように指示しますか?」に関する追加情報