[sane-devel] Umax 2200 (USB) failing

Henning Meier-Geinitz henning@meier-geinitz.de
Wed, 31 Dec 2003 11:00:37 +0100


Hi,

On Tue, Dec 30, 2003 at 06:10:44PM -0500, Charles Sprickman wrote:
> > The UMAX backend has not been converted to sanei_thread yet and fork()
> > doesn't work correctly on MacOS X. So you won't have luck with SANE
> > 10.13. But if you look at our bug-tracking system, there is a patch
> > that may work (untested):
> >
> > https://alioth.debian.org/tracker/index.php?func=detail&aid=300397&group_id=1308&atid=410366
> 
> Are there any FAQs floating around on building sane and libusb(?) under
> OS-X?

I don't think that there is a FAQ but at least current README.darwin
files contain some info.

The problem is that MacOS X is not a "typical Unix". That means that
the "everything is a file" view is not correct for MacOS X. So we
can't sue functions like fork() because e.g. USB access permissions
aren't inherited. That breaks all backends which use fork on MacOS X.

The solution is to use threads instead of sub-processes. That's what
the sanei_usb API does. However, all the backends that may be of
interest on MacOS X have to be converted to that API. That's not
trivial in all cases.

> > Please tell us about your success/failure on FreeBSD and MacOS X.
> 
> So far FreeBSD isn't going very well, but I'd be more than happy to try
> OS-X if the build process is documented somewhere.

README.darwin (+ the general README). If something doesn't work,
please tell us.

Bye,
  Henning