Questions tagged [shared-library]

related to shared libraries, .so files and their manipulation in Ubuntu

Shared libraries are distributed as .so files in /usr/lib/. These files are are compiled code which is intended to be shared among several different programs.

A library exports symbols which are the compiled versions of functions, classes and variables. A library has a name called an SONAME which includes a version number. This SONAME version does not necessarily match the public release version number. A program gets compiled against a given SONAME version of the library. If any of the symbols is removed or changes then the version number needs to be changed which forces any packages using that library to be recompiled against the new version. Version numbers are usually set by upstream and Ubuntu follows them in our binary package names called an ABI number, but sometimes upstream do not use sensible version numbers and packagers have to keep separate version numbers.

Libraries are usually distributed by upstream as standalone releases. Sometimes they are distributed as part of a program. In this case they can be included in the binary package along with the program (this is called bundling) if you do not expect any other programs to use the library, more often they should be split out into separate binary packages.

The libraries themselves are put into a binary package named libfoo1 where foo is the name of the library and 1 is the version from the SONAME. Development files from the package, such as header files, needed to compile programs against the library are put into a package called libfoo-dev.

436 questions
137
votes
9 answers

GLIBCXX_3.4.20 not found, how to fix this error?

Whey I try to run the program Layout Editor (available on this site) on Ubuntu 14.04.1 64-bit LTS I get the following output in the terminal: $ layout layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by…
Vesnog
  • 2,283
  • 4
  • 22
  • 36
83
votes
15 answers

How do I resolve a "Cannot open shared object file libudev.so.0" error?

Trying to run Game Dev Tycoon on Ubuntu 64. It asks for the above object. I ran sudo apt-get install libudev1:i386 and it came back already installed. I have /lib/i386-linux-gnu/libudev.so.1 but no libudev.so.0 anywhere.
59
votes
3 answers

Why no library files installed for google test?

The libgtest-dev package seems only install header files to the system, but not the static and dynamic libraries which should be installed under /usr/lib. Is it a bug?
eddyxu
  • 817
58
votes
7 answers

libssl.so.10: cannot open shared object file: No such file or directory

Im trying to use twoBitToFa, which is a small program released by the University of California Santa Cruz, that uncompresses large genome files and I get this error: error while loading shared libraries: libssl.so.10: cannot open shared object file:…
von Mises
  • 693
53
votes
8 answers

Problems with Eclipse and Android SDK

I installed Eclipse, openjdk6 and downloaded and extracted the sdk manager file. Now, When I created an Android project I got the following error: 2012-06-06 18:44:40 - contactManager] /home/catia/android-sdks/platform-tools/aapt: error while…
csbl
  • 691
42
votes
7 answers

Error While Loading Shared Libraries (libGLU.so.1)

I am trying to run Chamsys MagicQ on Ubuntu 12.10 with 64bit AMD processor. This is what it tells me when I try to run the program. ./magicq: error while loading shared libraries: libGLU.so.1: cannot open shared object >file: No such file or…
Austin
  • 651
  • 1
  • 5
  • 7
40
votes
2 answers

Where does Ubuntu look for shared libraries?

When I run a process that links to a shared library at runtime (linked when the process starts, not linked later with dlload()), where does it look for that shared library (.so) file other than LD_LIBRARY_PATH? Background: I have some C++ code that…
27
votes
6 answers

error while loading shared libraries libSDL-1.2.so.0

I am trying to install ioquake on my ubuntu server. When I try to run it, I get this message: # ./ioquake3 ./ioquake3.x86_64: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory I…
ErocM
  • 531
26
votes
4 answers

Is there any open-source way to make a static from a dynamic executable with no source code availability?

Let me explain the problem with an example. I use some old program in my day to day work, like for example xfig and pdfedit. Now, these programs are quite old and not updated too often; my fear is that one day or the other they will not work…
Rmano
  • 32,167
26
votes
3 answers

Wolfram Mathematica after upgrade to Ubuntu 19.04: symbol lookup error: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var

I have recently upgraded my desktop PC from Ubuntu 18.10 to 19.04. Now I am getting the following error when I try to start ̶o̶n̶e̶ ̶o̶f̶ ̶m̶y̶ ̶p̶r̶o̶g̶r̶a̶m̶s̶ Wolfram Mathematica 11.3: symbol lookup error:…
25
votes
5 answers

error while loading shared libraries: libudev.so.0 - Brackets

I installed Brackets on Lubuntu 13.04. When I use the command brackets to open it, I get the error: /usr/lib/brackets/Brackets: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory. How can…
Dillmo
  • 2,000
24
votes
5 answers

I want to install libssl.0.9.8

I'm trying to install utorrent program, and when I execute the program I get ./utserver: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory I'm navigating the different forums since…
22
votes
1 answer

How to find which libc version app links against?

When building an application using g++, I am not explicitly passing the libc library as a library to link against in the same way you would do it for other libraries (like passing -lpthread for example). I know that libc has the libc.so.6 so name,…
20
votes
3 answers

How to install 32-bit version of libstdc++.so.6 on a 64 bit machine

I need to install the 32-bit version of libstdc++.so.6 on a 64 bit Ubuntu 8.04.2 server. when i tried apt-get install ia32-libs, it says root@devserver:~/downloads# apt-get install ia32-libs Reading package lists... Done Building dependency…
18
votes
3 answers

skype: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

I am using ubuntu 11.10 64bit, skype was working however after running sudo apt-get autoremove skype is throwing skype: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory How can I fix…
Hailwood
  • 5,017
1
2 3
29 30