hp3770 на х64 ((нужен велосипед :))

Всё о принтерах, сканерах и многофункциональных устройствах. Подключение, настройка, проблемы.

Модератор: Модераторы разделов

Аватара пользователя
razum
Сообщения: 189
ОС: Gentoo 64

hp3770 на х64

Сообщение razum »

Есть сканер hp3770 и недюжее желание заставить его работать.

Начнем. Скажу честно, с оффа sane:
While an external binary-only backend exists, it works only on Linux i386. Therefore the scanner is unsupported on other platforms. unsupported
(2007-01-28)


На 32 - действительно заводился: з глубин инета вытащил libsane-hp3770.so.1.0.13,
который положил сюда: /usr/lib64/sane ( вместо /usr/lib/sane на 32 )

Запускаю:

Код:

# SANE_DEBUG_DLL=255 scanimage -L [sanei_debug] Setting debug level of dll to 255. [dll] sane_init: SANE dll backend version 1.0.12 from sane-backends 1.0.19 [dll] sane_init: reading dll.conf [dll] add_backend: adding backend `hp3700' [dll] sane_get_devices [dll] load: searching backend `hp3700' in `/usr/lib64/sane' [dll] load: trying to load `/usr/lib64/sane/libsane-hp3700.so.1' [dll] load: dlopen()ing `/usr/lib64/sane/libsane-hp3700.so.1' [dll] load: dlopen() failed (/usr/lib64/sane/libsane-hp3700.so.1: wrong ELF class: ELFCLASS32) [dll] sane_get_devices: found 0 devices No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). [dll] sane_exit: exiting [dll] sane_exit: finished


Ну, сами видите, библиотека скомпилена под 32, исходников в сети нет.
wrong ELF class: ELFCLASS32
В связи с чем - мысль:
Поставить 32битную версию sane.
Я как это видно, на генту, т.е. ничего невозможного нет: есть сорцы, есть gcc собранный с такими USE:

Код: Выделить всё

fortran mudflap multilib nls objc objc++ objc-gc openmp -altivec -bootstrap -build -doc -fixed-point -gcj -gtk -hardened -ip28 -ip32r10k -libffi -multislot -n32 -n64 -nocxx -test -vanilla

Вопрос кстати общий:
как собрать 32битную версию проги на комп с х64

Хватит ли, просто поменять CHOST на время одной компиляции?!
Или как gcc сказать про архитектуру?
Как сказать, что либы в /usr/lib32?
И как (по возможности) скомпилить static?!

PS
wine ведь стоит и работает! & skype и поэтому все emul-86 есть.
их либы соответственно в /usr/lib32
PРS
В ядре поддержка бинарников ELF32 вкомпилена.
Спасибо сказали: