/usr/local/lib には、Aptitude が報告するインストールされていないライブラリが含まれています

/usr/local/lib には、Aptitude が報告するインストールされていないライブラリが含まれています

Ubuntu で特定のライブラリ (SDL) を使用するプロジェクトをビルドしようとしています。プロジェクトでは、ライブラリの古いバージョン (libSDL-1.2) を使用しています。最新のライブラリをインストールするというミスを犯しましたが、その後削除しました。しかし、複数の Ubuntu ライブラリ ディレクトリにその痕跡が残っています。

ここに画像の説明を入力してください

いくつかのディレクトリには適切なバージョン(ディレクトリ:) 一方、他のバージョンでは最新の間違ったバージョンが存在します (ローカル)。なぜこのような矛盾が生じるのでしょうか。また、libSDL2 を完全に削除するにはどうすればよいでしょうか。

答え1

/usr/local/パッケージ マネージャーによってインストールされなかったファイルが含まれます。これは、手動インストールや、パッケージからインストーラ スクリプトなどによってダウンロードされた追加ファイルによるものです (ただし、これらのほとんどは に送られます/opt/)。

したがって、APT はそのディレクトリの下のファイルを認識しません。ライブラリを手動でインストールした場合 (たとえば、アーカイブをそこに解凍した場合)、同じ方法で削除することもできます。
ただし、手動でインストールしていない場合は注意してください。その場合は、さらに適切なサポートを受けるために、インストール方法をお知らせください。

もう 1 つの可能性は、ライブラリが APT を使用して libsdl2 をインストールしたのではなく、他の何かによってダウンロードされたためにそこに存在する可能性があることです。たとえば、Valve の Source Engine は SDL2 を使用します。Half Life や Portal などの Source ベースのゲームをインストールすると、Steam は独自のライブラリをダウンロードします (ただし、ユーザーのホーム ディレクトリに保存されます)。これらは同様のものから取得される可能性があります。取得元がわからない場合は、そのままにしておいてください。正しく実行されれば (以下を参照)、開発を妨げることはありません。削除すると、他のアプリケーションが機能しなくなる可能性があります。

SDL1.2 を引き続き使用したい場合は、他のライブラリを削除せずに、コンパイラ/リンカーに古いライブラリを使用するように指示します。SDL2 共有ライブラリは常に と呼ばれるためlibsdl2-....so、 を含めずに正しいライブラリにリンクするだけですsdl2

関連情報