[sane-devel] Re: ISCAN 1.10.0 and Mandrakelinux Cooker

Olaf Meeuwissen olaf@epkowa.co.jp
Thu, 19 Aug 2004 18:48:11 +0900


Till Kamppeter <till.kamppeter@gmx.net> writes:

> Olaf Meeuwissen wrote:
>> You are aware of the ABI changes between gcc 3.3 and 3.4, right?
>> These may lead to trouble using the Perfection 1250/1260 and
>> Perfection 3170 and when linking with libesmod.so.
>
> Is it possible to complie iscan and/or the "epkowa" backend without
> the non-free libraries (then without support for the Perfection
> 1250/1260 and 3170)? Once one could compile with gcc 3.4.1 then and
> second, one could include it in Mandrakelinux, as then one would have
> totally free software (i would appreciate then if you put out two
> separate source tarballs, one with free stuff and one with the
> non-free add-on stuff).

It is perfectly possible to drop the non-free libraries for the
scanners you mention, if you disable their support in the backend,
because they are all dynamically loaded.  Some #ifdef's at the right
places should do the trick.

However, ripping out the non-free library used by the frontend is
another thing.  You would need to provide a wrapper for the API it
exports and implement it ...  Not my idea of fun.

# Personally, I would very much like to do what you propose, but it is
# not on the list of things to do.

>> Thanks for the patch, expect to see it in an upcoming release (no
>> promises as to what version).  I'm still with gcc 3.3.
>
> Mandrakelinux 10.1 will come with gcc 3.4.1, so the whole distro will
> be built with this compiler.

gcc-3.4 has just entered Debian's testing and I have installed it.
I'll check the sources and binaries for incompatibilities and based on
those results we'll see what we do if any binary incompatibilities
with the non-free stuff exist.

>> As for required development packages, it would be nice if distributors
>> agreed on using the same name ;-)
>>
>>>As SANE is version 1.0.14 I have also edited the line
>>>
>>>V_REV=3D12
>>>
>>>to be
>>>
>>>V_REV=3D14
>> Hmm, it doesn't matter much I guess, but the bits and pieces from
>> sane-backends used by iscan are only at 1.0.12.
>> Personally, I prefer to keep V_REV=3D12 for that reason.
>
> Why are there parts of SANE in iscan/epkowa? It should use thes
> installed SANE for best compatibility. Does the installation of
> iscan/epkowa overwrite SANE files and so downdates them from 1.0.14 to
> 1.0.12? Can this be avoided? Can I perhaps simply manually install the
> epkowa backend and perhaps the iscan GUI and nothing else of
> iscan/epkowa?

The backend implementation uses bits and pieces from sanei.  If you go
through the Makefile's, you'll see that *all* backends link these bits
statically.  So in order to build the epkowa backend, I need at least
those pieces.  There is, however, some SANE stuff in there that can
safely be dropped.

If you compile iscan from source and your $(prefix) matches the
locations where you have sane-backends installed, yes :-(
If you install from the RPM (built with our rpm.spec) then, no.

>>>Then I have compiled and installed the package.
>>>
>>>Unfortunately, ISCAN did not work correctly:
>>>
>>>1. "scanimage -L" shows the Epson Perfection Photo 2450 as working
>>>with the "epson" driver (which is the ISCAN version now).
>> Please don't use the epson backend from iscan.  It is outdated (see
>> above).  It is unfortunate that the backend/Makefile.in still installs
>> it (as well as libsane!).  Note that our rpm.spec only puts the epkowa
>> backend in the rpm.
>> # I've been working on a rewrite of the build infra-structure in my own
>> # time and submitted a patch to pipsnews, but it is low on the priority
>> # list :-(
>
> I didn=C2=B4t know, thought it was somehow hacked by you (better color
> calibration or so). It was installed by "make install". So one should
> consider it as a bug that "make" builds it and "make install" installs
> it.

These are leftovers from when I didn't know SANE well and had trouble
debugging iscan without local versions of libsane and libsane-epson
installed.
Consider it a bug ;-)
# If only I got some time to go over my own patch ;-(

>>>One can scan
>>>with XSane, but only in the usual flatbed mode. When trying to use the
>>>TPU, already switching to the TPU freezes XSane for a minute or
>>>so. When trying to scan (Preview), XSane freezes for some minutes and
>>>then there is an error message, telling that there is a communication
>>>problem with the scanner andthe console from which I started XSane
>>>appear the messages
>> Could this somehow be related to the USB timeouts reported in
>>
>> http://alioth.debian.org/tracker/index.php?func=3Ddetail&aid=3D300830&gr=
oup_id=3D30186&atid=3D410366
>> and the thread mentioned?
>
> Probably you have seen my other tread on the SANE list today, of the
> "epson" backend hanging on the Perfection 1260. It was a bug in the
> "epson" backend of SANE 1.0.14 which is fixed on SANE CVS and I have
> fixed it on the Cooker of Mandrakelinux now. Perhaps there are
> relations to this. Now I have applied the fix and iscan/epkowa is not
> installed and the 1260 works with "plustek" and the 2450 with "epson",
> both installed on the same machine with a fresh Cooker (kernel 2.6.8
> final, perhaps this helped, too).

Yes, I did see your other messages.
This may have fixed the USB timeout thingy ... perhaps I should give
it a try with 2.6.8 as well.

>>>------------------------------------------------------------------------
>>>[epson] You may have to power on your TPU
>>>[epson] Also you may have to restart the Sane frontend.
>>>------------------------------------------------------------------------
>>>
>>>The TPU light does not turn on. When switching back to flatbed mode
>>>all works normally again.
>>>
>>>2. If the Epson Perfection 1260 Photo is turned on, the "epson"
>>>backend (both the original SANE one and the ISCAN one) hangs for
>>>several minutes and then even the also connected Perfection 2450 is
>>>not detected. The ISCAN "epson" backend produces the message
>> The Perfection 1260 is *not* supported by the epson backend.  It is
>> only supported by the epkowa and plustek backends.
>> Ditto for the 1250.
>
> This was caused by a bug in the "epson" backend in 1.0.14. See my
> other thread of today on the SANE list. It is fixed now for the
> original SANE "epson" backend in the Mandrakelinux package of SANE and
> in the SANE CVS.
>
>>>------------------------------------------------------------------------
>>>[epson] ident failed
>>>------------------------------------------------------------------------
>>>
>>>on the console where "scanimage -L" was called.
>>>
>>>3. The "epkowa" backend does not recognize the Epson Perfection 1260
>>>Photo. The scanner is OK, as it works without problems with the
>>>"plustek" backend. Commenting out the "plustek" backend in dll.conf
>>>does also not help for "epkowa" recognizing the
>>>scanner. Configuration: only "usb" in the epkowa.conf file.
>> Do you have a log of `iscan SANE_DEBUG_EPKOWA=3D127`?
>> Are there any USB timeouts in your system logs?
>
> Did the log of my previous posting not help?

Shame on me!  I completely forgot to look at it.
The log shows that the epkowa backend found your Perfection 2450 but
not the 1260.  It also shows that the epson backend didn't find a
thing.  Could it be that dlopen()ing libesmod23.so fails?  If that's
the case, then it's probably an ABI thing and you'll need gcc 3.4
compiled versions.

What happens when you start iscan with only the 1260 attached?  A log
might be helpful.

>>>4. "epkowa" recognizes the 2450, but the startup of XSane takes ages
>>>and are always "Failed to obtain value of option monitor-button: Error
>>>during device I/O" messages. A Preview scannes gives "Failed to start
>>>scanner: Error during device I/O" after around one minute frozen.
>> This was already reported in the thread starting at:
>>
>> http://lists.alioth.debian.org/pipermail/sane-devel/2004-June/011233.html
>> but I still haven't got a clue.  It's on the list of things to do.
>> BTW, this is the same thread as mentioned in the bug report refered to
>> above.
>
> Now thw two scanners work nicely with the "epson" and "plustek"
> backends and the frontends come up quickly.
>
> For more testing of iscan/epkowa I need a possibility to run it on a
> gcc 3.4.1 box, either with non-free modules adapted to the new
> compiler or with the possibility to compile without the non-free
> modules, or both.

If the iscan frontend links okay, it should be mostly usable but may
fail to load the non-free libraries for the Perfection 1250/1260/3170.

>     Till
>
> P. S.: Olaf, your e-mail address olaf(at)epkowa.co.jp and also
> pipsnews(at)epkowa.co.jp does not work for me, as "epkowa.co.jp"
> cannot be resolved by DNS.

Hmm, strange.  It works fine for me when mailing from my webmail
account at Twente University in the Netherlands.  Perhaps a local
DNS problem on your side?
--=20
Olaf Meeuwissen                            EPSON KOWA Corporation, PF1
FSF Associate Member #1962           sign up at http://member.fsf.org/
GnuPG key: 6BE37D90/AB6B 0D1F 99E7 1BF5 EB97  976A 16C7 F27D 6BE3 7D90
Penguin's lib!       -- I hack, therefore I am --               LPIC-2