I'm having problems with Flash under ubuntu and was going to try and upgrade to the Alpha release of Flash 10.1.

The problem is that it came as a .so file, and I can't find any information as to what this is.


3 Answers 3


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.

  • 3
    Unless Ubuntu does things completely differently from other Linux dynamic linkers, the dynamic linker does not search the path ($PATH), but rather searches a fixed set of paths as well as the directories specified in $LD_LIBRARY_PATH. See the man pages for ld.so and ldconfig for more details. Nov 16, 2009 at 22:34
  • That sounds right -- thanks... $LD_LIBRARY_PATH not $PATH. :-) Nov 16, 2009 at 23:19
  • 1
    /usr/lib and /lib are much more common than /var/lib. Actually, it's pretty rare to put a library in /var/lib.
    – qedi
    Nov 16, 2009 at 23:54
  • Sorry -- was in a rush. :-) I'll correct it... Nov 17, 2009 at 2:05
  • Ok.. Let's imagine I have an .so file... What do I need to "use" it?
    – Pitto
    Apr 1, 2015 at 23:19

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:

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .