[sane-devel] sane-find-scanner vs. scanimage --list-devices?
Steven Lembark
lembark at wrkhors.com
Sun Nov 11 19:23:26 GMT 2001
Did a strings on the scanner binary, found "SANE_DEFAULT_DEVICE".
Tried it:
root at dizzy:bin # export
SANE_DEFAULT_DEVICE='hp:/dev/scsi/host2/bus0/target1/lun0/generic'
root at dizzy:bin # ./scanimage
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.4 from sane-backends-1.0.6
[dll] add_backend: adding backend hp
[dll] load: loading backend hp
[dll] load: couldn't find /opt/sane/1.0.6/libsane-hp.so.1 (No such file
or directory) scanimage: open of device
hp:/dev/scsi/host2/bus0/target1/lun0/generic failed: Invalid argument
[dll] sane_exit: exiting
[dll] sane_exit: calling backend `hp's exit function
[dll] op_unsupported: call to unsupported backend operation
root at dizzy:bin # find /opt/sane/1.0.6/ -name '*hp*'
/opt/sane/1.0.6/lib/sane/libsane-hp.so.1.0.6
/opt/sane/1.0.6/lib/sane/libsane-hp.so.1
/opt/sane/1.0.6/lib/sane/libsane-hp.so
/opt/sane/1.0.6/lib/sane/libsane-hp.la
/opt/sane/1.0.6/lib/sane/libsane-hp.a
/opt/sane/1.0.6/etc/sane.d/hp.conf
/opt/sane/1.0.6/man/man5/sane-hp.5
/opt/sane/1.0.6/doc/sane-1.0.6/README.hp-ux
Q: How does sane process argv[0] to get the libdir?
The installation I ran through used:
cd /scratch/sane-backends-1.0.6;
./configure --prefix=/opt/sane/1.06;
make all install;
cd /scratch/sane-frontends-1.0.6;
./configure --prefix=/opt/sane/1.0.6;
make all install;
The frontends seemd to find the backends they needed during the
configure and compile, but something isn't mangling the paths
properly to get the lib's...
Mangling the lib's gets me quite a bit further:
root at dizzy:bin # export LD_LIBRARY_PATH='/opt/sane/1.0.6/lib/sane';
root at dizzy:bin # ./scanimage
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.4 from sane-backends-1.0.6
[dll] add_backend: adding backend hp
[dll] load: loading backend hp
[dll] load: dlopen()ing `/opt/sane/1.0.6/lib/sane/libsane-hp.so.1'
[dll] init: initializing backend `hp'
[sanei_debug] Setting debug level of hp to 17.
[hp] sane_init called
[hp] sane_init will finish with Success
[dll] init: backend `hp' is version 1.0.8
[hp] sane_open called
[hp] hp_read_config: hp backend v0.95 starts reading config file
[hp] hp_get_dev: New device /dev/scanner, connect-scsi, scsi-request=1
[hp] sanei_hp_device_new: /dev/scanner
[hp] scsi_inquire: sending INQUIRE
[hp] scsi_new: sending TEST_UNIT_READY
[hp] scsi_flush: writing 2 bytes:
[hp] 0x0000 1B 45 .E
[hp] scsi_flush: writing 7 bytes:
[hp] 0x0000 1B 2A 73 32 35 37 45 .*s257E
[hp] scl_inq: read failed (Error during device I/O)
[hp] scl_errcheck: Can't read SCL error stack: Error during device I/O
[hp] sanei_hp_device_new: SCL reset failed
[hp] scsi_close: closing fd 3
[hp] hp_device_info_get: device /dev/scsi/host2/bus0/target1/lun0/generic
not configured. Using default
[hp] hp_get_dev: New device /dev/scsi/host2/bus0/target1/lun0/generic,
connect-scsi, scsi-request=1
[hp] sanei_hp_device_new: /dev/scsi/host2/bus0/target1/lun0/generic
[hp] scsi_inquire: sending INQUIRE
[hp] scsi_new: sending TEST_UNIT_READY
[hp] scsi_flush: writing 2 bytes:
[hp] 0x0000 1B 45 .E
[hp] scsi_flush: writing 7 bytes:
[hp] 0x0000 1B 2A 73 32 35 37 45 .*s257E
[hp] scl_inq: read failed (Error during device I/O)
[hp] scl_errcheck: Can't read SCL error stack: Error during device I/O
[hp] sanei_hp_device_new: SCL reset failed
[hp] scsi_close: closing fd 3
scanimage: open of device hp:/dev/scsi/host2/bus0/target1/lun0/generic
failed: Error during device I/O
[dll] sane_exit: exiting
[dll] sane_exit: calling backend `hp's exit function
[hp] sane_exit called
[hp] sane_exit will finish
Any suggestions on handling this?
Suggestion: Add a "--sane-libs" switch to sane-config that prints
out where scanimage expects the lib's to be.
thanx.
--
Steven Lembark 2930 W. Palmer
Workhorse Computing Chicago, IL 60647
+1 800 762 1582
More information about the sane-devel
mailing list