У меня есть и старый сканер, совместимый с вменяемыми backends.
Я хочу установить нормальные бэкэнды на моем Mac (macOS 10.14 Mojave).
Сканер USB, поэтому требуется библиотека libusb
.
Что я сделал:
У меня есть MacPorts, поэтому я установил libusb
и libusb-compat
оттуда.
Затем я загрузил исходный код sane-backends из их репозитория GitLab.
Я сделал ./configure с этими аргументами: ./configure --CFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" BACKENDS='hp5590'
Мне пришлось использовать CFLAGS и LDFLAGS, потому что в противном случае sane-backends выдавал мне ошибку «usb.h не может быть найдено» или что-то подобное. Чем я включил только свой сканер в BACKENDS, потому что произошла ошибка с make
, что-то связанное с другим сканером.
Если я наберу sane-find-scanner
, это сработает. Так что я полагаю, что установил его правильно.
В чем проблема сейчас?
Не удается найти мой сканер. И ... если я наберу sane-find-scanner -v
, это результат (я опустил ненужные вещи):
This is sane-find-scanner from sane-backends 1.0.27git
[...]
searching for USB scanners:
libusb not available
# No USB scanners found. If you expected something different, make sure that
# you have loaded a kernel driver for your USB host controller and have setup
# the USB system correctly. See man sane-usb for details.
# SANE has been built without libusb support. This may be a reason
# for not detecting USB scanners. Read README for more details.
Может быть полезно:
MBP-di-Umberto:~ umberto$ which sane-find-scanner
/opt/local/bin/sane-find-scanner
MBP-di-Umberto:~ umberto$ pkg-config --cflags --libs libusb
-I/opt/local/include -I/opt/local/include/libusb-1.0 -L/opt/local/lib -lusb
MBP-di-Umberto:~ umberto$ port contents libusb
Port libusb contains:
/opt/local/include/libusb-1.0/libusb.h
/opt/local/lib/libusb-1.0.0.dylib
/opt/local/lib/libusb-1.0.a
/opt/local/lib/libusb-1.0.dylib
/opt/local/lib/pkgconfig/libusb-1.0.pc
MBP-di-Umberto:~ umberto$ port contents libusb-compat
Port libusb-compat contains:
/opt/local/bin/libusb-config
/opt/local/include/usb.h
/opt/local/lib/libusb-0.1.4.dylib
/opt/local/lib/libusb.a
/opt/local/lib/libusb.dylib
/opt/local/lib/pkgconfig/libusb.pc
EDIT
Я решил это. «Волшебно» * libusb
было найдено.
Я удалил sane-backends и переустановил его без CFLAGS и т. Д. В каталоге по умолчанию (/usr/local).
Убедитесь, что, если вы установили его с --prefix
, если вы снова сделали ./configure
без --prefix
, для выполнения make uninstall
вам нужно повторно запустить ./configure
с исходным --prefix
. Просто для того, чтобы сказать ...
* [РЕДАКТИРОВАТЬ: я предполагаю, что я использовал версию 1.0.25, которая использует libusb-0.1 по умолчанию (у меня есть 1.0). Если у вас есть libusb-1.0, но вы используете sane-backends-1.0.25, вы должны передать аргумент --enable-libusb-1.0
в ./configure
.
Поскольку версия 1.0.27 libusb-1.0
является предпочтительной, вам не нужно указывать свои предпочтения в ./configure --enable...
. Я думаю, что это была «магия».]
Проблема теперь в том, что «устройство не настроено»
Вот такой вывод:
searching for USB scanners:
device 0x03f0/0x1305 at 020:005 is not configured
found USB scanner (vendor=0x05ac [Apple Inc.], product=0x821d [Bluetooth USB Host Controller]) at libusb:029:008
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
Также хотелось бы, чтобы хост-контроллер Bluetooth не отображался в списке.