
libLLVM-3.8.so
Fedora 25 システム上のどの RPM パッケージがライブラリとに依存しているかを確認したいと思いますlibclang-3.8.so
。どうすればよいですか?
答え1
これを検索するには、 を使用できますdnf repoquery
。例:
dnf repoquery --whatrequires libLLVM-3.8.so
しかし、x86_64システムでは、これは期待どおりには動作しない可能性があります。ライブラリのx86_64バージョンを指定するには(おそらくは必要に応じて、 を()(64bit)
次のように追加します。
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)'
('
括弧が bash を混乱させないようにするために必要になりました。)
デフォルトでは、利用可能なパッケージとインストール済みのパッケージの両方がリストされます。現在インストールされているパッケージに制限するには、--installed
次のようにフラグを追加します。
dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)' --installed
私のシステムでは、次の結果が返されます:
llvm-libs-0:3.8.0-1.fc25.x86_64
mesa-dri-drivers-0:13.0.2-2.fc25.x86_64
mesa-libxatracker-0:13.0.2-2.fc25.x86_64
パッケージ名だけが必要な場合は、 を追加します--queryformat '%{name}\n'
(dnf repoquery --querytags
他の書式設定オプションを取得するには を使用します)。
答え2
$ locate libLLVM-3.8.so
/usr/lib/libLLVM-3.8.so
/usr/lib64/libLLVM-3.8.so
$ rpm -qf /usr/lib64/libLLVM-3.8.so
llvm-libs-3.8.0-1.fc25.x86_64
$ sudo rpm -e --test llvm-libs-3.8.0-1.fc25.x86_64
error: Failed dependencies:
libLLVM-3.8.so()(64bit) is needed by (installed) clang-libs-3.8.0-2.fc25.x86_64
libLLVM-3.8.so()(64bit) is needed by (installed) mesa-dri-drivers-13.0.2-2.fc25.x86_64
libLLVM-3.8.so()(64bit) is needed by (installed) mesa-libOpenCL-13.0.2-2.fc25.x86_64
libLLVM-3.8.so()(64bit) is needed by (installed) mesa-libxatracker-13.0.2-2.fc25.x86_64
他のファイルについても同様です。または任意のファイル。