1

Question: To install package A, I had to build and install some dependencies B, C, and D from source because apt couldn't install them from the repositories. Apt couldn't tell I installed these dependencies from source, so I used dpkg to force the install knowing that the dependencies were infact installed. Now when I go to install any other package E using apt, it still comes up with a warning saying package A has unmet dependencies B, C, and D. How do I tell apt to either, see that dependencies B, C, and D are in fact installed on my system, or otherwise stop showing me the warning?

For context: I'm working in Ubuntu 24.04LTS on the Raspberry Pi 5. I've been trying to get the Hailo AI HAT+ and Raspberry Pi Camera Module 3 working together as well as they do on Raspberry Pi OS. This journey had sent me down a rabbit hole of building Hailort-pcie-drivers, hailort, hailo tappas, Raspberry Pi's fork of libcamera, and Raspberry Pi's rpicam-apps all from source. I have gotten the rpicam-apps demos of the AI hat working now, but having done so, apt believes that the rpicam-apps-hailo-postprocess package still has unmet dependencies of hailort, libcamera0.4, and rpicam-apps, which are "not installable" and will still show me this warning anytime I go to install another package using apt.

Ian Jensen
  • 13
  • 3

1 Answers1

3

You don't, unless you use something like checkinstall to do the installation of the source code.

apt package management and dpkg under the hood are extremely dependent on dependencies being declared in the packaging. To that end, if you simply "install from source code" yourself, without having it properly packaged and installed as a .deb package, then apt and dpkg will never see it.

The only way to do this is to try and build Debian packages (or use checkinstall - https://help.ubuntu.com/community/CheckInstall) for those dependencies. If you build the dependencies yourself from source code then you also have to build the item that depends on these dependencies yourself manually from source code.

Thomas Ward
  • 78,878