apt-get インストールでローカルライブラリが見つかりません

apt-get インストールでローカルライブラリが見つかりません

インストールして取得しようとした後gstreamer1.0-rockchip1

The following packages have unmet dependencies:
 gstreamer1.0-rockchip1 : Depends: librockchip-mpp1 but it is not installable
E: Unable to correct problems, you have held broken packages.

リポジトリを複製、コンパイル、インストールしました。最大電力点そしてmake and sudo make install。今必要なライブラリがあります/usr/local/lib

lrwxrwxrwx 1 root root       20 Aug  7 10:43 librockchip_vpu.so -> librockchip_vpu.so.1
lrwxrwxrwx 1 root root       20 Aug  7 10:43 librockchip_vpu.so.1 -> librockchip_vpu.so.0
lrwxrwxrwx 1 root root       20 Aug  7 10:43 librockchip_mpp.so -> librockchip_mpp.so.1
lrwxrwxrwx 1 root root       20 Aug  7 10:43 librockchip_mpp.so.1 -> librockchip_mpp.so.0
drwxr-xr-x 2 root root     4096 Aug  7 10:43 pkgconfig
-rw-r--r-- 1 root root    78944 Aug  7 10:20 librockchip_vpu.so.0
-rw-r--r-- 1 root root  1978352 Aug  7 10:20 librockchip_mpp.so.0
drwxrwsr-x 3 root staff    4096 Aug  7 09:01 ocaml
drwxrwsr-x 4 root staff    4096 Aug  7 08:58 python2.7
drwxrwsr-x 3 root staff    4096 Mar 11 02:17 python3.8

しかし、まだ同じ初期エラーが発生します。図書館をつなぐ方法はありますか?

私のシステム:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:    20.04
Codename:   focal

答え1

gstreamer1.0-rockchip1というファイルに依存せずに/usr/local/lib/librockchip_mpp.so.1提供された。librockchip-mpp1/usr/lib/x86_64-linux-gnu/librockchip_mpp.so.1

これらのパッケージのどれもリポジトリで使用できませんfocal

通常、セカンダリリポジトリ(PPAなど)がパッケージを提供する場合は、公式リポジトリに見つからない依存関係も提供する必要があります。あなたのリポジトリがこれをやっていないようです。またはgstreamer-rockchip-1最初から自分で作ったかもしれません。

私は依存関係の地獄に落ちることを避ける傾向があるので、代わりを使用します。しかし、その状態に陥りたい場合は、次のことを行う必要があります。

  1. gstreamer1.0-rockchip1依存関係を提供するリポジトリ/PPAを探す
  2. 依存関係を直接パッケージ化します。

検索結果、私が興味を示した2つのgithubリポジトリが登場しました。これがパッケージを入手する場所なのか、これがパッケージに最適なフォークなのか、相互に動作できるのか、マルウェアが含まれているのかはわかりません。それはあなたが決めるようにします。

1つ目は以下を提供するプロジェクトです。gstreamer-rockchip-1。すでにリポジトリや*.debプロジェクトの内容があるようです。ファイルを見ると、debain/copyrightどのアップストリームプロジェクトも指していません。

debian/controlこのパッケージは次のように異なりますlibrockchip-mpp

Build-Depends: debhelper (>= 9), autotools-dev,
 librockchip-mpp-dev (>= 1.4.0), libx11-dev, libdrm-dev,
 libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev

ここで使用できない唯一の依存関係focalはですlibrockchip-mpp1

別の検索で、以下を提供するリポジトリに移動しました。librockchip-mpp{1,-dev}(または少なくともその名前を持つパッケージ)。リポジトリには、デベーンベースのディストリビューション用にこのパッケージをパッケージ化するためのルールも用意されているため、これは難しくありません。これもdebian/copyright自分を指すaがあり、もっと合法的に見えます。

依存関係を見ると、debhelper, cmakeビルド依存関係のみがあります。これ以上行く必要はないようです。

このパッケージをビルド/インストールするには:

  1. 1つを選択してください商標をダウンロードしてアーカイブ。それから:
$ tar -xzf release_20171218.tar.gz
$ ln -s mpp-release_20171218.tar.gz mpp_1.4.0.orig.tar.gz
$ cd mpp-release_20171218
$ dpkg-buildpackage -uc -us
$ sudo dpkg -i ../librockchip-mpp1_1.4.0-1_amd64.deb

その後、インストールを続行できますgstreamer1.0-rockchip1

このファイルをコンパイルしようとしたときにCMake構成エラーが発生しました。具体的には:

ツールチェーンファイルが見つかりません:/etc/dpkg-cross/cmake/CMakeCross.txt

それが私が追求したいことです。

答え2

等価物を使用できます(例:この回答) 依存関係を満たす偽のパッケージを生成します。これは代替です実際に基本的に、システムに「この問題は私が処理したので私を信じてください」と伝えるライブラリをパッケージ化します。

関連情報