[sane-devel] libsane.so and HP scanjet 3770

Henning Meier-Geinitz henning at meier-geinitz.de
Sun Oct 16 18:26:39 UTC 2005


Hi,

On Sun, Oct 16, 2005 at 06:29:19PM +0200, jouthuis at dds.nl wrote:
> I recently started using HP scanjet 3770. Picked up the proprietary driver from
> Daniel Tartavel's website. This driver uses an adapted libsane.so.1.0.13.
> Starting up xsane with a more recent libsane.so results in:
> 
> xsane: symbol lookup error: /usr/lib/sane/libsane-hp3770.so.1.0.13: undefined
> symbol: sanei_usb_init

Looks like libsane-hp3770.so needs to be linked to sanei_usb.

> I wonder if it wouldn't be possible to incorporate the following permanently
> into the standard sane-code for backends (picked up from Daniel's README file):
> 
> #	[add "sanei_usb.lo" to the "EXTRA" line in backend/Makefile.in:
> #
> #diff -e backend/Makefile.in ../sane-backends-1.0.13.hp/backend/Makefile.in
> #71c]
> 
> EXTRA = sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_config.lo
> ../sanei/sanei_usb.lo

This would link every SANE backend to sanei_usb. As most backend don't
use this file, that wouldn't make sense.

> Otherwise all hp3770 users will be stuck with 1.0.13 forever, or will have to
> adapt and compile new sane-releases themselves time and again, which is kind of
> unpractical when one's using .deb's or .rpm's.

The libsane-hp3770.so must just be linked to all the code it uses
internally. If it uses sanei_usb, it must be linked to it. It doesn't
make sense to link the dll backend to sanei_usb. I'm surprised that
this works anyway.

However, linking sanei_usb to a non-free binary-only library may not
be allowed due to the GPL+SANE license.

Bye,
  Henning



More information about the sane-devel mailing list