Upgrading Cygwin - postinstall difficulties?

Igor Pechtchanski pechtcha@cs.nyu.edu
Tue Sep 16 16:10:00 GMT 2003

On Tue, 16 Sep 2003, Andrew DeFaria wrote:

> Recently updating a Cygiwn 1.3.20 -> 1.5.3 I noticed something that
> concerns me. I think this problem is just a general problem and not sure
> what is "right" in this situation.
> The postinstall scripts for 1.5.3 rely on executing commands that might
> have dependencies on the cygwin1.dll that has not been installed yet! If
> you are installing and cygwin1.dll is loaded then setup will not be able
> to put the new cygwin1.dll in place. Instead it puts it as
> cygwin1.dll.new and arranges for it to be put into place next reboot.
> However this does not stop the postinstall scripts from running. When a
> postinstall script runs it may execute say grep, but the new grep makes
> calls to a new or renamed function expecting to find it in the new
> cygwin1.dll. This fails and a dialog box is put up.

Well, you shouldn't run setup with Cygwin processes running in the first
place.  I've been meaning to add an interactive dialog on failing to
replace cygwin1.dll that would let you kill Cygwin processes and retry the
replacement, but haven't got to it yet (and probably won't for quite a

> Now the situation is understandable. The question is: Did the
> postinstall script accomplish what it needed? After I reboot can I be
> assured that the "failed" postinstall script did enough of what it
> needed to do? Or should I re-execute (all) postinstall scripts?

The postinstall scripts obviously did not complete.  Also, since parts of
the postinstall scripts were executed, and other parts weren't, the system
is most likely in an unstable state.  Unfortunately, the corrective
actions depend heavily on the packages that were installed (e.g., if you
installed base-files for the first time, the postinstall scripts will have
created a possibly incorrect /etc/profile, but it won't be removed on
uninstall, so a reinstall of base-files won't give you a correct
/etc/profile; similarly with packages like apache).  You may have to look
at the individual postinstall scripts to see which actions need to be
reexecuted, and which need to be undone.  If a complete reinstall from
scratch is an option, I'd suggest that as the safest course.
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

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

More information about the Cygwin mailing list