インストールして取得しようとした後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
最初から自分で作ったかもしれません。
私は依存関係の地獄に落ちることを避ける傾向があるので、代わりを使用します。しかし、その状態に陥りたい場合は、次のことを行う必要があります。
gstreamer1.0-rockchip1
依存関係を提供するリポジトリ/PPAを探す- 依存関係を直接パッケージ化します。
検索結果、私が興味を示した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
ビルド依存関係のみがあります。これ以上行く必要はないようです。
このパッケージをビルド/インストールするには:
$ 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
等価物を使用できます(例:この回答) 依存関係を満たす偽のパッケージを生成します。これは代替です実際に基本的に、システムに「この問題は私が処理したので私を信じてください」と伝えるライブラリをパッケージ化します。