This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Failure with fork() (Cygwin on Wine install now sort of works)


Here is my take on the current status of Cygwin on Wine:

At http://bugs.winehq.org/show_bug.cgi?id=24018, Andrey Turkin took
advantage of the recent Cygwin fork fix to provide an additional Wine
fix (the small self-described "hackish" patch he gives there) that
allowed setup.exe to complete without run-time issues (albeit with
some non-zero return codes from the post-install scripts which I will
discuss in more detail below).

I would like to thank Achim Gratz for his suggestion in this thread of how to
correctly update cygwin1.dll in the middle of a setup.exe run.  I
have implemented his suggestion as the (MSYS or Linux) bash script
replace_cygwin1.dll.sh which is contained in the attached tarball
along with associated setup.exe results.

Here is how I used that script in practice

On Linux:

# Clean out previous Cygwin results completely
rm -rf cygwin cygwin_packages

# Clean startup of wine-1.6-rc4 built with patch mentioned above.
# Normally does nothing, but sometimes the -k option kills something
# that is left over from a previous wine run.
wineserver -k
# Start wine server
wineserver -p
# Start Wine in a bash environment
wineconsole --backend=curses MinGW-4.7.2/msys/1.0/bin/bash.exe

# From now on we are in the MSYS base on Wine environment.

# Set PATH to point to MSYS (so that the bash script below will run) then
# run
bash.exe-3.1$ ./setup.exe -n -N -d -R /z/home/wine/newstart/cygwin \
-l /z/home/wine/newstart/cygwin_packages \
-s ftp://mirror.cpsc.ucalgary.ca /cygwin.com -D >setup_download.out

bash.exe-3.1$ ./replace_cygwin1.dll.sh \
cygwin1-20130627.dll cygwin_packages

bash.exe-3.1$ ./setup.exe -n -N -d -R /z/home/wine/newstart/cygwin \
-l /z/home/wine/newstart/cygwin_packages \
-s ftp://mirror.cpsc.ucalgary.ca /cygwin.com -L >setup_install.out

The resulting setup_download.out and setup_install.out files are
contained in the attached tarball along with the
replace_cygwin1.dll.sh script.  I should also mention that
cygwin1-20130627.dll (which contains the latest fork fix) was
downloaded from the next to last Cygwin snapshot at
http://cygwin.com/snapshots/ and decompressed, and the version
of setup.exe that was run (downloaded a few days ago from
cygwin) is 2.774 according to its initial GUI.

I have used explicit setup.exe options above to be clear on exactly
what I did.  For all else available in the setup GUI, I just
took defaults such as not installing any additional packages, and
using the recommended system install rather than individual install.

The first "download" setup.exe invocation above had no obvious issues,
and similarly for the run of replace_cygwin1.dll.sh.  (For the latter
case I double checked that cygwin1-20130627.dll was identical to
cygwin/bin/cygwin1.dll, i.e, the script worked properly).

The second "install from local directory" setup.exe invocation above
completed without run-time issues.  (The first post-install script
hangs indefinitely without the Andrey Turkin patch to Wine mentioned
above.) However, there were 4 post-install scripts that generated
non-zero return codes.  Would someone take a look at setup_install.out
in the attached tarball to see how serious they are?  I have no idea
about that question myself.  They could be evidence of Wine issues (or
Cygwin issues that are also seen on Microsoft Windows) or they could
just be for the most part normal startup "chatter" when attempting to
install Cygwin for the very first time that will go away for
subsequent Cygwin use after this initial installation.  The only one
of the messages that seems obviously serious is

rebase: failed to rename "/etc/rebase.db.RIRMJ5" to "/etc/rebase.db.i386":
Invalid request code
Manually rename "/etc/rebase.db.RIRMJ5" to "/etc/rebase.db.i386",
otherwise the new rebase database will be unusable.

So if the consensus here after looking at the setup_install.out
results is that cygwin on Wine is more or less installed properly from
these results (except for the rename issue above which I can fix by
doing that rename manually as suggested by the error message), then
the next order of business is to attempt to actually use that shiny
new Cygwin install, but I will reserve my absolutely Cygwin newbie
questions about how to do that for a different thread.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

Attachment: cygwin_related.tar.gz
Description: compressed tarball containing replace_cygwin1.dll.sh and setup.exe results

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]