[wine-devel] Re: Bug 24018 which appears to be a showstopper for running Cygwin on Wine

Hin-Tak Leung htl10 at users.sourceforge.net
Fri Jun 28 16:07:37 CDT 2013

--- On Thu, 27/6/13, Alan W. Irwin <irwin at beluga.phys.uvic.ca> wrote:

> On 2013-06-26 18:14-0700 Alan W.
> Irwin wrote:
> > Note in retrospect I realized that this period leading
> up to the
> > release of Wine-1.6.0 has been a lousy time to ask wine
> developers
> > with Cygwin expertise to take on the additional
> distraction of getting
> > the debugging process for bug 24018 started with the
> Cygwin
> > developers.
> Because of the bad timing from the Wine developer
> perspective, I asked
> Arjen Markus, a PLplot colleague of mine with Cygwin
> contacts, to try
> and get the debugging process started with the Cygwin
> developers.  The
> response <http://cygwin.com/ml/cygwin/2013-06/msg00666.html>
> to his
> post looks quite promising.  It turned out the "fork
> bomb" test
> programme failed after only 500 iterations, and the Cygwin
> developer,
> Corinna Vinschen thinks she knows what the issue is with
> more to come.
> So stay tuned to that thread if you have an interest in bug
> 24018.

I read that thread with interest.

However, I noticed that you have quite a few fundamental misunderstanding or lack of experience with cygwin.

Firstly, cygwin's setup.exe doesn't do much more than unpacking tar balls, write a few registry entries, and run some scripts through sh.exe, occasionally. (the last one depends on the package, the middle one is one-off, the first time ever you run setup.exe - there after it just read those entries back; the unpacking obviously happens per package).

So it is entirely possible to *install* cygwin into a wine prefix, without using cygwin's setup.exe, if you know how to unpack those files as well as set up the registry entries. It is even easier if you have access to a windows box: you can simply export those registries and import them into wine, copy the entire installed tree across from a windows box to wine. That, in principle, gives identical results as if you manage to run the setup.exe . (you can clone a cygwin installation across windows boxes in exactly the same way i.e. by copying the whole installed directory, plus export/importing a few registry entries.).

However, being able to install does not equal to being able to run, or run correctly. I thought I wrote that already. Anyway, *some* people bundle bits of cygwin in their custom software for little things, and I have come across at least one such installer. The installer runs fine with wine, but the installed cygwin bits don't work correctly in wine. cat & echo were the two I noticed - the latter is fairly awful, since cmd has a built in echo, and wine cmd's works alright; said custom software installer also put its binaries in the front of the system $PATH (or if you prefer window's style, %PATH%).

The added registry entries - or at least the important ones - are, if I remember correctly, the mount table i.e. it tells the installed bits where to find /usr/share, etc. Of course some, e.g. again, cat, echo, etc don't really have extra bits to look up, unlike say, emacs - which have lisp code files to load - and cat, echo, etc are supposed to work without cygwin mount table entires. On windows, they do work, and on wine, they don't (*not* because of the absence).

You can try very simple things, like e.g. "cat fileA fileB > fileC", if you need convincing.

More information about the wine-devel mailing list