Hello, I was trying to install open-cv on a Jetson TX2(Jetson 4.3, OS-Ubuntu 18.04.4 LTS), and there were some dependencies’ version issues. So, I degraded several dependencies manually from x:x.x.x-0ubuntu0.18.04.1 to x:x.x.x.
For example, to degrade libavcodec-dev, I used
sudo apt-get install -y libavcodec-dev=7:3.4.2-2
Currently, I would like to upgrade jetpack package from 4.3 to 4.4. According to the official documents, I need to execute sudo apt-get install nvidia-jetpack
) but it gives us the dependency error because of the packages I manually degraded:
The following packages have unmet dependencies:
nvidia-jetpack : Depends: libopencv-python (= 4.1.1-2-gd5a58aa75) but it is not going to be installed
Depends: libvisionworks-sfm-dev (= 0.90.4) but it is not going to be installed
Depends: libvisionworks-samples (= 1.6.0.500n) but it is not going to be installed
Depends: libvisionworks-tracking-dev (= 0.88.2) but it is not going to be installed
Depends: vpi-samples (= 0.1.0) but it is not going to be installed
Depends: libopencv (= 4.1.1-2-gd5a58aa75) but it is not going to be installed
Depends: libopencv-samples (= 4.1.1-2-gd5a58aa75) but it is not going to be installed
Depends: libopencv-dev (= 4.1.1-2-gd5a58aa75) but it is not going to be installed
Depends: opencv-licenses (= 4.1.1-2-gd5a58aa75) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
What I have tried
Upgrade for all packages at once
I am trying to upgrade to the original version.
apt-get update
apt-get upgrade
Gave me some error:
E: The repository 'http://archive.canonical.com/ubuntu precise Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
So, I followed the answer from apt - E: The repository 'http//archive.canonical.com precise Release' is not signed - Ask Ubuntu it didn’t fix it.
install for a specific packages
Since I know the name of several packages that I degraded, I tried to upgrade by --only-upgrade option.
For example, to upgrade the package I degrade, I used
sudo apt-get install --only-upgrade libavcodec-dev
However, it gives me
Reading package lists... Done
Building dependency tree
Reading state information... Done
libavcodec-dev is already the newest version (7:3.4.2-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. again.
I know that libavcodec-dev(7:3.4.2-2) is not the latest version since I degraded it. However, apt-get thinks what I degraded is the newest version.
How can I fix it? Thank you