설치하고 얻으려고 시도한 후 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를 찾 거나- 종속성을 직접 패키지하십시오.
검색 결과 내가 관심을 보인 두 개의 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}
(또는 적어도 해당 이름을 가진 패키지). 저장소는 또한 디베인 기반 배포판을 위해 이 패키지를 패키징하기 위한 규칙을 제공하므로 이는 그리 어렵지 않습니다. 이것도 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
당신은 등가물을 사용할 수 있습니다 (예:이 답변) 종속성을 만족하는 가짜 패키지를 생성합니다. 이것은 대안입니다실제로기본적으로 시스템에 "이 문제는 내가 처리했으니 나를 믿으세요"라고 알려주는 라이브러리를 패키징합니다.