What is an .so file?

An .so file is a compiled library file. It stands for "Shared Object" and is analogous to a Windows DLL.

Often, package files will place these under /lib or /usr/lib or some place similar when they're installed. If you extract an .so file to a location in your $LD_LIBRARY_PATH, a program that requires the library should be able to use it.

Ideally, read the accompanying documentation to ensure that it's in the right location.

If you run a command like locate adobe-flashplugin from the Terminal you may see some existing similarly-named libraries.


There are two Linux C/C++ library types that can be created. Those are Static libraries (.a) and Dynamically linked shard object libraries (.so)

When it comes to (.so), there is only one form of this library but it can be used in two ways.

1) Dynamically linked at run time but statically aware. The libraries must be available during compile/link phase. The shared objects are not included into the executable component but are tied to the execution.

2) Dynamically loaded/unloaded and linked during execution (i.e. browser plug-in) using the dynamic linking loader system functions.

Normally package files will place ".so" files in /lib or /usr/lib when installing.


It is a dynamically linked shared object library, analogous to a .dll file in Windows.

Here are a couple of posts for installing Flash 10 in Ubuntu x64 and x86:

  • Install Flash Player 10 Under Ubuntu Linux (x86)
  • Install Flash 10 Under Ubuntu Linux 64 bit Edition (x64)

Make sure you've uninstalled any previous versions of Flash befor installing 10.