Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

It seems to me that with Ubuntu Precise Pangolin it is all but easy to do a proper install of SANE from source (git-repo).

I've found other scanning issues trying to find an answer to this, where the output people posted seems to indicate they suffer the same issue (unknowingly).

If I run on a fresh install of Ubuntu 12.04 with compiled SANE source from the git I get:

$ scanimage -V
scanimage (sane-backends) 1.0.24git; backend version 1.0.22

(I basically followed the instructions on http://ubuntuportal.com/2012/02/how-to-get-an-canon-canoscan-lide-100-scanner-to-work-in-ubuntu-11-10linux-mint-12.html since I didn't find any other information making sure that sane was not installed prior to installation.)

My primary interest is the epson2-backend. In 1.0.22 it offers the wrong TPU settings for Epson V700 (TPU2-mode wasn't supported in 1.0.22, and the scanner is useless to me if I don't have the TPU2-support).

Since if I ask it to enter transparency mode, it shows 1.0.22 behaviour, it implies that the epson2-backend comes from 1.0.22 and not 1.0.24 even though I just built it.

If I install SANE with prefix to a local folder and run that version of scanimage it still produces the mismatch.

However, on another computer where I installed a custom 1.0.22 build of SANE prior to upgrading to Ubuntu 12.04, I can build and install the same SANE-git locally and have it correctly match backends:

$ ./SANE/bin/scanimage -V
scanimage (sane-backends) 1.0.24git; backend version 1.0.24
$ scanimage -V
scanimage (sane-backends) 1.0.22; backend version 1.0.22

On this computer the 1.0.24 works correctly in finding TPU2 on Epson V700.

So what am I missing/doing wrong?

(And I want to replace 1.0.22 with 1.0.24 for the whole system, the local build was just debugging.)

Any help would be much appreciated.

Edit 1:

Just tried compiling SANE using this instruction on Ubuntu 10.04 and it worked like a charm. However, when I upgraded to 12.04 (really would like to run 12.04), SANE was downgraded to 1.0.22. When trying the same set of instructions on 12.04 I was still out of luck -- the backend missmatch was there again (and I do have libusb-dev installed)

Edit 2:

I updated to Ubuntu 12.10 which now has the 1.0.23 SANE drivers. I haven't dared trying to compile from source on 12.10 since 1.0.23 is good enough for me. This is just a work-around and I would still like to know what's up with Ubuntu 12.04.

Edit 3:

Tried building SANE on 12.10 both using the above ubuntu-guide and building to a local directory. Both attempts produced backend miss-match.

share|improve this question

1 Answer 1

Ok, I had the same problem, this is how i fixed it.

With help from http://www.sane-project.org/README.linux

First of all, Disconnect your scanner, and start all over. I uninstalled Xsane, and everything related through synaptic. I also uninstalled everything what was configured and make install by the sane-backends-git.
You do it like this:

    $ cd [your sane-backends-git folder]
    $ sudo make uninstall

After that I checked wheter or not I had any libsane.so.1 left, (and any other archives related to sane).

    sudo find / -name libsane.so.1

Ok , all clear.

Installing xsane again with synaptic, and some dependencies

xsane 0.998-3ubuntu2  
libsane 1.0.22-7ubuntu1
libsane-common 1.0.22-7ubuntu1
xsane-common 0.998-3ubuntu2
sane-utils 1.0.22-7ubuntu1

testing the output of scanimage -V, just for fun

scanimage (sane-backends) 1.0.22; backend version 1.0.22

Next steps, according to the README.linux 1.0.24.git documentation.

first locate the libsane.so.1

sudo find / -name libsane.so.1

And, depending on your system, take note of the folder where libsane.so.1 is located. In my case:

/usr/lib/i386-linux-gnu/libsane.so.1

then, from your sane-backends-git folder

./configure 2>&1 | tee ~/thiscommandwritesalogfiletoyourhomefolder.log

The 2>&1 | tee writes a log-file to where you define it. That can come in handy, not obligated though. Please check the output of configure that usb is supported. This info comes with one of the last lines. If not, you need to install libusb-dev now and rerun configure.

install sane-git to /usr/local/lib/

$ make && sudo make install

Then one of most important parts, the creation of the symbolic links. Note that here you will have to change the foldername of the one where libsane.so.1 is located. (see above how to do that)

$ cd /usr/lib/i386-linux-gnu
$ sudo ln -sf /usr/local/lib/libsane.so.1.0.24 libsane.so.1
$ sudo ln -sf /usr/local/lib/sane/libsane.la libsane.la
$ cd -


copy udev rules file
$ sudo cp tools/udev/libsane.rules /etc/udev/rules.d

reconnect your scanner to the usb bus

join group scanner

sudo adduser [YOU] saned
sudo adduser [YOU] scanner 

and logoff and login again

that should do it. scanimage -V should give the latest libsane backend, and Xsane should work with no problem.

Hope it helped you.

And Note, If you have problems with Xsane shutting down, just delete the in your home folder the hidden file .sane, type Ctrl-H in nautilus, and you will find it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.