On Mon, 18 Dec 2017 08:39:22 +0100 Roger Oberholtzer wrote:
On Mon, Dec 18, 2017 at 4:20 AM, Linda Walsh <suse@tlinx.org> wrote:
WORKAROUND: unpack the rpm's using something like rpm2cpio and place the libs manually to allow side-by-side operation. I've often allowed apps w/different requirements for lib-versions to exist via that method.
A related solution -- let apps have a "personality" related to their distro & distro-version -- then they could with filesystem namespaces be set to automatically bind with the libraries they need, but this would require distros to allow for personalities and coordination of namespaces. Just getting such coordination within a specific distro seems like a great deal of work.
I remember that HP-UX had a context-dependent file system. Depending on the properties of the process (e.g., a binary's target processor), the file seen varied. It was a simple solution to a complex problem. I wish it existed in Linux.
I have had no trouble getting the Ubuntu libs into place. I use 'dpkg -x' to get the .deb file contents into place. Then I use LD_LIBRARY_PATH to get these loaded first. I have tried to stay away from replacing same named libs (Ubuntu and openSUSE have the same name). I started with only adding the missing ones. But I have the problem stated in my original post. So I guess I will add more libs until I see which one tips the balance.
As to the lib naming things, I think someone decided that the SOVERSION in the lib should be based on the ABI and not just a point release within the same ABI. I also think this was a shortsighted decision. It does not allow for variations in how a single ABI lib might be compiled - which I agree is messy - but is also a fact of life in the real world. Of course, one is free to change the SOVERSION on their own compile of any difficult library and link with that. The current method generally works for me as I compile from source whenever possible. There are just the occasional hardware suppliers who think that having the source to their libraries gives away the secret of their hardware.
Hi Roger, Have you looked at Docker? (https://www.docker.com/) Containers allow you to run applications in what they perceive to be their native environments - effectively /are/ their native environments - without the complexity or overhead of running VMs. regards, Carl -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org