[sane-devel] SANE shared library

Henning Meier-Geinitz henning at meier-geinitz.de
Fri May 19 13:43:29 UTC 2006


On 2006-05-18 23:03, Tamkang wrote:
> I have a questions:
> 1. why in /usr/lib/sane has 2 files (ie: libsane-sm3600.so.1 ,
> libsane-sm3600.so.1.0.17) as i know that libsane-sm3600.so.1 is
> symbolic link to libsane-sm3600.so.1.0.17, 

This is done automatically by ldconfig. Usuaally there should be at
least three files (.so, .so.1, .so.1.0.17). The frontends are linked
to libsane.so.1 and this file is a symlink to the latest version of
the backend. This way you can update the backends without re-linking the

> but why in
> /usr/local/lib/sane has 4 files (ie: libsane-sm3600.la ,
> libsane-sm3600.so , libsane-sm3600.so.1 , libsane-sm3600.so.1.0.17) ?

This is the default. If there are less files like in your first case,
your Linux distribution has deleted or just not installed them.

The .la file is used by libtool for linking information. IIRC
correctly, it's not absolutely necessary with Linux but may be needed
for other platforms when linking with libtool.

> why not only one file libsane-sm3600.so.1.0.17 files to let xsane to
> link to this driver ?  

With the next release of sane-backends, you had to build (or at least
link) xasne and any other frontend again.

> 2. because I am still new for linux filesystem hierarchy , so i just
> want to know that my linux fc5, have installed sane backend from it's
> fc5 dvd distro, but there is no source code to debug.

SANE is provided as GPL (+ SANE exception) software, so you must have
the source code (or a way to get it from Fedora).

> so I downloaded
> from sane-project website, the source of sane-backend, and then I
> build and installed in default directory /usr/local/lib/sane, and
> then the questions is why the source not default to /usr/lib/sane
> directory?  Is there any different between /usr/local/lib/sane and
> /usr/lib/sane directory ? 

Software that is not part of the operating system or distribution
shouldn't install anything outside of /usr/local/. At least not by


More information about the sane-devel mailing list