[Is the sane-devel list operating ok? I've sent a couple of messages
which haven't appeared after 2-3 days - I notice others appear to have
similar problems...]
I've hit a snag running SANE 1.0.2 - I get indefined symbols when the
backends are loaded.
I've a Debian 2.1, linux 2.2.16 machine (w/ 2.4.0 USB backport), driving
an Epson 610 (USB) scanner. I am using Karl Heinz's
sane_epson_20000613.tar.gz backend in place of the 1.0.2 version. Karl
has been of great help in getting the USB side happening, though I
believe my current problem is sane-specfic (it happens for all backends,
incl. pnm).
Configure (with no options), make and make install succeeds (no errors,
though I do get a bunch of warnings in most of the 'backend' drivers
(unused variables and the like, nothing obviously serious)).
$ cat /usr/local/etc/sane.d/dll.conf
net
epson
pnm
$ ls -l /usr/local/lib/sane/libsane.so.1
lrwxrwxrwx 1 root staff 20 Jun 28 09:21 libsane.so.1 ->
libsane-pnm.so.1.0.2*
$ scanimage -L
$
i.e. nothing, not even the pnm test device
$ SANE_DEBUG_DLL=128 scanimage -L
[sanei_init_debug]: Setting debug level of dll to 128.
[dll] adding backend net
[dll] adding backend epson
[dll] adding backend pnm
[dll] loading backend pnm
[dll] dlopen()ing `/usr/local/lib/sane/libsane-pnm.so.1'
[dll] dlopen() failed (/usr/local/lib/sane/libsane-pnm.so.1: undefined
symbol: sanei_debug_pnm)
[dll] loading backend epson
[dll] dlopen()ing `/usr/local/lib/sane/libsane-epson.so.1'
[dll] dlopen() failed (/usr/local/lib/sane/libsane-epson.so.1: undefined
symbol: sanei_scsi_max_request_size)
[dll] loading backend net
[dll] dlopen()ing `/usr/local/lib/sane/libsane-net.so.1'
[dll] dlopen() failed (/usr/local/lib/sane/libsane-net.so.1: undefined
symbol: sanei_w_start_reply)
[dll] exiting
[dll] calling backend `pnm's exit function
[dll] call to unsupported backend operation
[dll] calling backend `epson's exit function
[dll] call to unsupported backend operation
[dll] calling backend `net's exit function
[dll] call to unsupported backend operation
For what it's worth, I've tried configure --disable-shared with little
change (the backends still fail to initialise - I can provide more info
if reqd).
Looking at the undefined symbols from above, in /usr/local/lib/sane:
$ nm libsane-pnm.so.1 | grep sanei_debug_pnm
00004298 B sanei_debug_pnm
$ nm libsane-epson.so.1 | grep sanei_scsi_max_request_size
000125d4 D sanei_scsi_max_request_size
$ nm libsane-net.so.1 | grep sanei_w_start_reply
00003f60 T sanei_w_start_reply
As far I as I understand how dlls work (which is not much), this means
the symbols *are* present, yes? Though I don't know what the
implications of nm's B, D and T codes are...
Does anyone know of any good documentation on how DLLs (are meant to :-)
work?
I'm more than happy to provide further info as required,
Regards,
Ben Low
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com
This archive was generated by hypermail 2b29 : Wed Jun 28 2000 - 16:53:00 PDT