0

I'm using a fresh Debian 12 install. Everything works fine minus one image recording software that worked fine while using Debian 11.

The problem is that the software requires some libraries:

- libavutil56 - libavcodec58 - libavformat58 - libswscale5 - libswresample3

and in my system ( Debian 12 ) I have a newer version of all these libraries which I guess were updated with the new Debian version.

- libavutil57 - libavcodec59 - libavformat59 - libswscale6 - libswresample4

and the software fails to initiate claiming that I'm missing libswscale.so.5 for example while under the path /usr/lib/x86_64-linux-gnu/ I have libswscale.so.6 etc.

I've already contacted the support team and they said that it will probably be fixed in the new version of the software but this may take some time and I need it now.

Is there a way to install the old libraries alongside the newer ones? When I try to search them via apt it shows me the newer versions.

If it was possible I'm not sure if it may cause conflicts having both versions of the libraries in the system.

Z0OM
  • 3,149
abinos
  • 3

1 Answers1

1

You can use the Debian 11 repositories alongside the Debian 12 ones — anything that can be installed from Debian 12 will be, but older libraries will still be available (and supported as long as Debian 11 is).

Create a file named /etc/apt/sources.list.d/bullseye.list, containing

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org bullseye-security main contrib non-free

Then run sudo apt update, and you’ll be able to install the missing libraries.

Stephen Kitt
  • 434,908
  • Thanks for your anwser. The packages now appear when sudo apt-cache search xxx but will there be a conflict/problem if I install it ?

    The newer version will get removed ? If not which one my system will use by default ?

    – abinos Jun 21 '23 at 09:52
  • The old packages can be installed in parallel with the new ones. There is no default, programs use the specific libraries they were built with (or rather, libraries matching the sonames) — so programs expecting libavutil57 will use that, and programs expecting libavutil56 will use that. – Stephen Kitt Jun 21 '23 at 11:29
  • Thank you. It works. Should I remove the bullseye.list file ? I don't want to pollute my system with old packages.

    I'm sorry if the questions seem trivial but I don't know exactly what entails having the repositories for older versions.

    – abinos Jun 21 '23 at 12:16
  • I would keep it, if only to ensure that the old packages are upgraded if any fixes are released for them (in particular, security fixes). The risk associated with keeping the file is that you might install a package that’s been removed from Debian 12. The usual rules apply: if you end up accidentally trying something that might mess your system up, apt will warn you and ask you to confirm, so if you pay attention to apt’s prompts you’ll be fine. Once your application is upgraded to use Debian 12 libraries, you can remove the repository configuration along with the now-obsolete packages. – Stephen Kitt Jun 21 '23 at 12:46
  • Thank you very much. I'll keep it for the time being.

    One last question. If some package_version=1 is present in both repositories ( bookworm and bullseye) the apt should draw from the bookworm repository right ?

    – abinos Jun 21 '23 at 14:27
  • If a given version of a package is available in multiple repositories, apt will use the first configured repository. Which repository it uses doesn’t matter — if two repositories ship the same version of a package, it’s supposed to be the same (and in the Debian repositories, it will be exactly the same file on the mirrors). – Stephen Kitt Jun 21 '23 at 14:37