Last update: Sun Nov 12 16:47:01 CET 2000 - Compiling SANE aborts with error "virtual memory exhausted" on Slackware linux with gcc. What goes wrong? The optimization set by "-O2" makes problems, try which one of the following calls work: make CFLAGS="-g -Wall -O1" make CFLAGS="-g -Wall -O" make CFLAGS="-g -Wall" - Avoiding damage on Mustek flatbed scanners Most Mustek flatbed scanners have no protection against exceeding the physical scan area height. That is, if a scan is attempted with a height that exceeds the height of the scan surface, the scanner begins making loud noises and the scan mechanism may be damaged. Thus, if you hear such a noise, IMMEDIATELY turn off the scanner. Normally, the Mustek backend will ensure that the maximum scan height is not exceeded. However, if your scanner model has not been tested yet, this safety-guard may not work. In such a case, you may want to use scanimage's -y option to gradually determine the exact height of the scan area (making sure to turn off the scanner as soon as it starts making noises). Once you know the proper height, mail the following information to sane-devel@mostang.com: - scanner name (labels on the front and back of the scanner) - debug logfile To get the debug logfile enter the following: SANE_DEBUG_MUSTEK=5 scanimage -L 2>logfile.txt The current list of Mustek scanners that are known to work properly can be found in man-page sane-mustek(5). - My Linux box used to scan just fine but now it suddenly won't work anymore, what's up? If you increased SG_BIG_BUFF when building SANE (as is recommended by sane-scsi(5) for performance reasons), be careful when upgrading the kernel as that will typically install a new version of /usr/include/scsi/sg.h, with the old, smaller value. This has the effect that SANE _thinks_ the SCSI buffer is big, but since the Linux kernel uses a smaller value, scanning will fail with "out of memory" errors. To fix this problem, increase SG_BIG_BUFF to the old value, rebuild the kernel, then reboot the machine Newer versions of SANE (>1.01) tries to read the current SG_BIG_BUFF from /proc/sys/kernel/sg-big-buff which is available with newer linux kernels (>= v2.2). - Missing /usr/include/scsi on Linux systems Older Linux distributions are missing the /usr/include/scsi directory. In such a case, it is necessary to copy the relevant files from the kernel distribution. Normally, the command: cp -a /usr/src/linux/include/scsi /usr/include should fix this problem.