I'm not very familiar with the linux root folders.

I have an Ubuntu 18.04 machine. What is the difference between the two folders /usr/lib and usr/lib/x68_64-linux-gnu.

I ask this since my boost .so files are of different versions in the two folders.


/usr/lib/x86_64-linux-gnu is the multiarch folder for libraries built for 64-bit x86 on Linux using the GNU C library. /usr/lib is the historical folder for libraries built for the system; you’ll still find libraries there because quite a few packages don’t follow the multiarch spec.

The Boost packages in Ubuntu ship their libraries in the multiarch folder, so the libraries in /usr/lib are presumably from a source other than Ubuntu, or from an older version of the package that’s still installed.

  • Thanks! Is it safe for me to remove the boost related .so files in the usr/lib/x68_64-linux-gnu folder, and copy the boost related .so files from /usr/lib to that folder? – OlorinIstari May 15 '20 at 11:03
  • No, don’t remove the files from /usr/lib/x68_64-linux-gnu. Are the files in /usr/lib newer? – Stephen Kitt May 15 '20 at 11:06
  • Yes, in the /usr/lib folder, I have boost 1.72 version, while in the /usr/lib/x68_64-linux-gnu folder, I have 1.65 version. I am running into dependency conflicts for certain package installations because of this. – OlorinIstari May 15 '20 at 11:07
  • You shouldn’t manually remove packaged files; /usr (apart from /usr/local) is managed only by the package manager. I suggest you ask a new question to explain the dependency conflicts you’re running into, you’ll get more useful answers that way. – Stephen Kitt May 15 '20 at 11:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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