ローカル共有ライブラリの依存関係がどこにあるかyumに教えてください。

ローカル共有ライブラリの依存関係がどこにあるかyumに教えてください。

rpmbuildインストール中に特定のファイルに依存していたため失敗しましたlibnvidia-ml.so.1。この場合、次のようになります。

 Requires: libnvidia-ml.so.1()(64bit)

これは、パッケージマネージャにインストールされているが/usr/lib64変更できないパッケージマネージャではインストールされません。yumこのファイルをどこで見つけることができるかを知る方法はありますか?

マニュアルで明確な内容が見つからず、LD_LIBRARY_PATH何の効果もありませんでした。

答え1

yumにこのファイルが見つかる場所を教える方法はありますか?

yum/dnfRPMデータベースを具体的に参照してください。外部ファイルを考慮するように指示する方法はありません。

このライブラリをRPMにパッケージ化してインストールするか、以下を使用してインストールするために必要なものをすべてインストールします。rpm --nodeps [packages]

答え2

修正する

.so最善の方法は、カスタムビルドパッケージ自体を介して-Fileを提供するか、共有ライブラリを提供する別のカスタムパッケージを追加することです。


利用可能なライブラリがrpmdbにも保存されているように見えるため、次のことは機能しません。

この特別なケースでは、依存関係はファイルではなく共有ライブラリです。ライブラリを手動で追加することが可能でなければなりません。

  1. ライブラリを追加するパスが構成されていることを確認してください。ldconfig

    grep -R /usr/lib64 /etc/ld.so.*
    

    そうでない場合は、設定されたパスを選択するか、設定にパスを追加します。

  2. ldconfigリンクとキャッシュを再生成するには実行してください。

    ldconfig -v
    

    出力に共有ライブラリを表示する必要があります。

最後に、パッケージをインストールできる必要があります。

答え3

インストールしようとしたRPMファイルを編集して再構築することは私にとって効果的でした。私はDNFで利用できない古い依存関係を自分のコンピュータで利用でき、そのまま残っていることを知っています。これらすべての情報を知らせる偽(または実際の)RPMを作成して、DNFがこの事実を知るのに時間を費やす必要はありません。

私は従った:

ldconfigで新しいライブラリファイルを選択できます/usr/local

sudo bash -c 'echo -e "/usr/local/lib64\n/usr/local/lib" > /etc/ld.so.conf.d/local.conf'

レガシーライブラリをシステムパッケージと区別/usr/localせずにソースからビルドしてインストールします。/usrこれはプログラムによって異なりますが、次は例です。

./configure --prefix=/usr/local
make -j $(nproc)
sudo make install
sudo ldconfig

共有ライブラリファイル(私の場合はlibtclとlibtk)があることを確認してください。

sudo ldconfig -p | grep -i "libnvidia"

DNF 不明な依存関係を必要としないように仕様ファイルを再構成し、必要なインストール済み RPM を再構築します (注釈など)。まずインストールする必要がありますrpmrebuild

rpmrebuild --edit-spec --package original_x86_64.rpm

私には、次の行をコメントアウトしました。

#Requires:      libtcl8.5.so()(64bit)

#Requires:      tcl-devel

再構築が完了すると、新しく構築されたRPMの位置を知らせます。私にとってはそれが内部にあります~/rpmbuild/RPMS/x86_64。目的の場所に移動してインストールしてください。例:

mv ~/rpmbuild/RPMS/x86_64/original-1.x86_64.rpm rebuilt_x86_64.rpm
sudo dnf install rebuilt_x86_64.rpm

RPM仕様ファイルの存在rpmrebuildとすぐにRPM仕様ファイルを編集する機能を検索するためのソース:https://lists.fedoraproject.org/archives/list/[Eメール保護]/メッセージ/V2ZJORVHTA34UOJVRA2SEVNTJCM4ETXM/

関連情報