从 git-source 构建 SANE 即使在本地构建,也会在 12.04 上产生后端不匹配的情况

从 git-source 构建 SANE 即使在本地构建,也会在 12.04 上产生后端不匹配的情况

在我看来,使用 Ubuntu Precise Pangolin 可以很容易地从源代码(git-repo)正确安装 SANE。

在尝试寻找此问题的答案时,我发现了其他扫描问题,人们发布的输出似乎表明他们(不知不觉地)遇到了同样的问题。

如果我运行全新安装的 Ubuntu 12.04 并从 git 编译了 SANE 源,我会得到:

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

(我基本上按照 http://ubuntuportal.com/2012/02/如何获取佳能canoscan-lide-100扫描仪在ubuntu-11-10linux-mint-12.html 因为我没有找到任何其他信息来确保在安装之前没有安装 sane。)

我主要感兴趣的是 epson2-backend。在 1.0.22 中,它为 Epson V700 提供了错误的 TPU 设置(1.0.22 不支持 TPU2 模式,如果我没有 TPU2 支持,扫描仪对我来说就没用了)。

因为如果我要求它进入透明模式,它会显示 1.0.22 的行为,这意味着 epson2-backend 来自 1.0.22 而不是 1.0.24,即使我刚刚构建了它。

如果我安装带有本地文件夹前缀的 SANE 并运行该版本的 scanimage,它仍然会产生不匹配的情况。

但是,在升级到 Ubuntu 12.04 之前,我在另一台计算机上安装了自定义的 SANE 1.0.22 版本,我可以在本地构建和安装相同的 SANE-git,并使其正确匹配后端:

$ ./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

在这台计算机上,1.0.24 可以正确找到 Epson V700 上的 TPU2。

那么我遗漏了什么或者做错了什么?

(并且我想将整个系统的 1.0.22 替换为 1.0.24,本地构建只是进行调试。)

任何帮助将非常感激。

编辑1:

刚刚尝试使用编译 SANE此指令在 Ubuntu 10.04 上,它运行良好。但是,当我升级到 12.04(真的很想运行 12.04)时,SANE 降级为 1.0.22。当我在 12.04 上尝试同样的指令集时,我仍然运气不佳——后端不匹配再次出现(我确实安装了 libusb-dev)

编辑2:

我已更新至 Ubuntu 12.10,现在它拥有 1.0.23 SANE 驱动程序。我不敢尝试在 12.10 上从源代码进行编译,因为 1.0.23 对我来说已经足够好了。这只是一种解决方法,我仍然想知道 Ubuntu 12.04 的情况。

编辑3:

尝试使用上述 ubuntu 指南在 12.10 上构建 SANE 并构建到本地目录。两次尝试都导致后端不匹配。

答案1

好的,我遇到了同样的问题,这就是我解决问题的方法。

在以下机构的帮助下http://www.sane-project.org/README.linux

首先,断开扫描仪的连接,然后重新开始。我卸载了以及的Xsane所有相关内容synaptic。我还卸载了 的所有内容configured。您 可以这样做:make installsane-backends-git

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

之后我检查了是否还有任何 libsane.so.1(以及任何其他与之相关的档案sane)。

    sudo find / -name libsane.so.1

好的,一切都清楚了。

xsane再次安装synaptic,还有一些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

测试输出scanimage -V,只是为了好玩

scanimage (sane-backends) 1.0.22; backend version 1.0.22

下一步,按照 README.linux 1.0.24.git 文档进行。

首先找到libsane.so.1

sudo find / -name libsane.so.1

并且,根据您的系统,记下文件夹libsane.so.1的位置。 就我而言:

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

然后从你的sane-backends-git文件夹中

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

2>&1 | tee会将日志文件写入您定义的位置。这很有用,但不是必须的。请检查 configure 的输出是否支持 usb。此信息来自最后几行之一。如果没有,您需要libusb-dev 立即安装并重新运行 configure。

安装 sane-git 到/usr/local/lib/

$ make && sudo make install

然后是最重要的部分之一,创建符号链接。请注意,在这里您必须更改所在文件夹的名称libsane.so.1。(请参阅上文如何操作)

$ 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

将扫描仪重新连接到 USB 总线

加入群组扫描仪

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

logoff再次login

这样就可以了。 scanimage -V应该提供最新的 libsane 后端,并且 Xsane 应该可以正常工作。

希望它对你有帮助。

笔记, 如果您在关闭 Xsane 时遇到问题,只需删除主文件夹中的隐藏文件 .sane,输入Ctrl-Hnautilus您就会找到它。

相关内容