How to configure, build, and install SANE. Introduction: ============= SANE stands for Scanner Access Now Easy. This package contains the SANE libraries (this means backends and network scanning parts) and the command line frontend scanimage. You always find the most recent version of SANE on: http://www.mostang.com/sane The source is available via anonymous CVS, hosted by The Hungry Programmers. Information on the CVS repository is available from . The following will fetch the latests source: cvs -d :pserver:anoncvs@anoncvs.hungry.com:/cvsroot login [password "anoncvs"] cvs -d :pserver:anoncvs@anoncvs.hungry.com:/cvsroot co sane There are several graphical frontends available for SANE. XSane is available on http://www.xsane.org The graphical frontends that have been included into the sane package up to version sane-1.0.3 (xscanimage and xcam) have been put into an own package sane-frontends-1.0.x, this package is available on http://www.mostang.com/sane Quick install: ============== ./configure make make install man sane Prerequisites ============= In order to build SANE, the following tools and libraries are required: - GNU make: version 3.70 or newer - ANSI C compiler: GNU C (gcc) is recommended for best performance, but any ANSI-compliant compiler should do Some more libraries are not strictly necessary to compile SANE, but some functionality may be lost if they are not available: - libusb (>=0.1.6): For the sm3600 backend. Can also be used for other USB backends especially on non-Linux platforms. - libjpeg (>=6B): For the dc210, dc240, and gphoto2 backends. - libieee1284 (>=0.1.5): For the canon_pp backend. - libgphoto2 (>=2.0beta4dev8): For the gphoto2 backend. SANE should build on most Unix-like systems. Support for OS/2 is also available. For more details look at the operating system specific README.* files. For a detailed support matrix, see: http://www.mostang.com/sane/sane-support.html This table may be out of date. Please send any corrections or additions to sane-devel@mostang.com together with your platform, os and version. Please check that there aren't any older versions of SANE installed on your system. Especially if sane-libraries are installed in a different prefix directory (e.g. /usr/lib) this may cause problems with external frontends. Please remove these libraries (libsane.*, sane/libsane-*) before installing this version of SANE. Configuration ============= Simply invoke configure in the top-level directory. Besides the usual GNU configure options, there are the following SANE specific options: --disable-shared Don't use shared libraries. Useful for debugging or when there is a problem building shared libraries. This implicitly turns on --disable-dynamic --enable-static as well. --disable-dynamic Disable dynamic loading of backends (in the dll backend). configure normally turns on dynamic loading when it can find the appropriate header files and libraries ( and -dl). --enable-static Use static libraries (turned off by default). --enable-preload Preload backends into DLL backend. This is useful for debugging, when dynamic loading is unavailable, or to reduce runtime linking overheads. If dynamic loading or shared libraries are unavailable or disabled, this option is turned on automatically. --enable-scsibuffersize=N Specify the buffer size of the buffer for SCSI commands. The default value is 131072 bytes (128 kb). This may be changed at runtime by setting the environment variable SANE_SG_BUFFERSIZE to the desired value. The option is Linux-only at this time. --enable-scsibuffersize and SANE_SG_BUFFERSIZE have no effect for the Mustek, Umax and Sharp backends. For these backends, the buffer size is set automatically and/or can be specified in the backend's configuration file. Please refer to the backend's man pages for details. --disable-translations Disable installation of translated backend options. If you get errors in the po/ directory during build, use this option. See po/README for details. In addition to these configuration options, there are some more SANE-specific options and many standard-options. To get a description of available options, invoke configure with option --help. If you plan on debugging one of the SANE programs, we recommend to run configure like this: CFLAGS="-g -O -Wall" ./configure --disable-shared For operating system specific information, look at the README.* files. Build ===== To build SANE, simply type "make" in the top-level directory. To clean up the executables and libraries in the source directory, type "make clean". To restore everything to the status after unpacking the package, type "make distclean". Installation and Configuration ============================== Once the build has finished, install SANE with "make install". By default, this will place the SANE libraries in /usr/local/lib/, the configuration files in /usr/local/etc/sane.d/, and the manual pages in /usr/local/man/. The location of these directories can be overridden with configure options; see "configure --help" for details. Before running any SANE program, read the PROBLEMS file in this directory. For information on configuring and trouble-shooting the various SANE components, please refer to the manual page sane(7). The tools directory contains some small programs that may be helpfull. They are described in tools/README. Removing ======== Type "make uninstall" to remove SANE from your system. This will also remove older versions of SANE if they have been installed at the same prefix. Warning: Your configuration will be deleted also so make sure you have a backup. By default the configuration files are located in the directory /usr/local/etc/sane.d/.