Are there circumstances where because of conflicting dependencies, say different versions of a library, that two pieces of software might be impossible to have installed together?

How is this circumstance managed in the Linux user community?

  • Is this an actual problem that you're having at the moment? In that case, could you be a bit more specific about what software causes this issue and what Linux distribution you are using? – Kusalananda Oct 17 '18 at 21:05
  • @Kusalananda Actually I don't know if this is my problem, I am wondering if I can exclude it as a possibility. I have today and yesterday asked a small slew of questions regarding x windows, Paraview, OpenFOAM, CentOS VirtualBox and Windows 7, and making them all play well together. With essentially no answers, I am resorting to trying to learn these systems for myself. If I know it is possible for things to be impossible, I may have good reason to stop trying. – J Collins Oct 17 '18 at 21:08
  • Portable application formats such as Flatpak, Snap and AppImage are all about trying to solve this problem, by bundling all dependencies into a package and running the application in a container environment. – filbranden Oct 17 '18 at 21:11
  • @FilipeBrandenburger This seems an eminently sensible solution, I wonder contained executions can still share the common filesystem? – J Collins Oct 17 '18 at 21:13

Install library into another directory (e.g. /usr/local/lib), then set LD_LIBRARY_PATH environment.

LD_LIBRARY_PATH=/usr/local/lib command
  • When using yum to install libraries, is it possible to specify a nonstandard location? – J Collins Oct 17 '18 at 19:52

Yes, it is a frequent position of a sysadmin, to have two software packages that can’t share a single machine nicely.

Like you theorize, varrying library versions can be a cause. Two software packages that implement the same functionality will often conflict, when installed with default settings. The reasons why one want both packages on the same machine vary, as do the appropriate solutions.

For some situations, simply having a script that sets the appropriate LD_LIBRARY_PATH, et al., will suffice. For some situations, the safest method is a guest VM.

Ruby engineers so often need multiple versions installed on the same machine, they came up with rvm, a tool that helps manage the installation, maintenance and usage of side-by-side installations.


In addition to the approach that Ipor Sircer describes, there are a number of other approaches:

Not the answer you're looking for? Browse other questions tagged or ask your own question.