I have a Debian package for a shared library. Lets assume the lib is called threadx. And I have the version 0.0.1 installed. So this package contains:
/lib/i386-linux-gnu/libthreadx.so.0.0.1 /lib/i386-linux-gnu/libthreadx.so.0 # symlink to libthreadx.so.0.0.1
If I want to upgrade now to 0.0.2 the package will contain:
/lib/i386-linux-gnu/libthreadx.so.0.0.2 /lib/i386-linux-gnu/libthreadx.so.0 # symlink to libthreadx.so.0.0.2
Which conflicts because
/lib/i386-linux-gnu/libthreadx.so.0 is the same file.
The error message is
dpkg: error processing archive /tmp/apt-dpkg-install-SwpeYD/01-libthreadx0.0.2_0.0.2_i386.deb (--unpack): trying to overwrite '/lib/i386-linux-gnu/libthreadx.so.0', which is also in package libthreadx0.0.1:i386 0.0.1
I want to be able to install both packages (
libthreadx0.0.2) in parallel, and have the symlink point to the latest library.
And I am unable to find actual advice how to configure/package this that this works. There is this thread talking about it but not telling any details:
Actually, you can install multiple versions of a shared library if it's done properly.
Why can't I install multiple versions of a shared library?
And the debian manual is also very obscure to me so either the information on how to do this is not there or i don't understand it. https://www.debian.org/doc/debian-policy/ch-sharedlibs.html