在我尝试安装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的存储库D3。现在,我在/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发布于 2022-08-07 12:25:06
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,或者一次搜索显示了我两次对github感兴趣的回复。我不知道您是从这里得到包的,还是这些包是包中最好的分叉,或者它们是否相互工作,或者它们是否包含任何恶意代码。我会让你来决定的。
第一个是提供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}的存储库(或者至少有一个具有这个名称的包)。这个存储库还提供了为基于debain的发行版打包这个包的规则,所以这不应该太困难。这一个也有一个指向自己的debian/copyright,所以它看起来更合法一些。
当我查看它的依赖项时,它只有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
这是我所愿意追求的。
发布于 2022-08-07 22:06:00
您可以使用equivs (如在这个答案中)创建一个满足依赖关系的虚假包。这是对库进行实际打包的另一种选择,它本质上告诉系统:“我已经处理好了,相信我。”
https://unix.stackexchange.com/questions/712733
复制相似问题