macOS Mojave - вменяемые бэкэнды ”libusb not available” РЕДАКТИРОВАТЬ: устройство не настроено - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть и старый сканер, совместимый с вменяемыми 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 не отображался в списке.

...