delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/12/29/12:52:29

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4B3A45B2.20506@gmail.com>
Date: Tue, 29 Dec 2009 18:08:50 +0000
From: Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Fwd: No go after update to 1.7.1
References: <6c18a4f0912251015k48ff2266l8fca37fc2543772e AT mail DOT gmail DOT com> <20091227151902 DOT GB27191 AT ednor DOT casa DOT cgf DOT cx> <6c18a4f0912270949o5460c1ceq33f9e93d476614a2 AT mail DOT gmail DOT com> <416096c60912270956l3a82fb8fu3a62d6532dc1988a AT mail DOT gmail DOT com> <6c18a4f0912271000i3c5f5ecewccf1bb77e30d88b4 AT mail DOT gmail DOT com> <4B37E68C DOT 9000304 AT cygwin DOT com> <20091227233155 DOT GA12367 AT ednor DOT casa DOT cgf DOT cx> <6c18a4f0912280230k601eca9me32c056e09117866 AT mail DOT gmail DOT com> <6c18a4f0912290754h34c5a28s31091eeb6af1cc5a AT mail DOT gmail DOT com> <4B3A36D0 DOT 3030102 AT gmail DOT com> <6c18a4f0912290922u7a1950b8v3974855629d779e0 AT mail DOT gmail DOT com>
In-Reply-To: <6c18a4f0912290922u7a1950b8v3974855629d779e0@mail.gmail.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Bernd Bartmann wrote:

> Now how to go on to get the cygwin installation fixed? As Larry
> pointed out - because bash could not be run during the setup process
> the postinstall scripts couldn't be run.
> Shall I just reinstall all packages but the core cygwin package?

  Take a look in /etc/postinstall.  If you see lots of files named "*.sh",
then you can simply re-run setup.exe and click right through it without
changing any of the settings from last time and it will finish off running any
scripts that it didn't do last time.  OTOH, if you see only lots of files
named "*.sh.done", that means it somehow didn't notice that the scripts had
failed and it won't try re-running them; in that case, you still re-run
setup.exe and click through it largely unaltered, but when you get to the
package chooser screen, select the category view and set the top category to
"reinstall".

> Also, it is not entirely clear to me if cygwin or BitDefender is to
> blame for the problem. Is there work going on to address this issue
> from the cygwin side? Should I contact BitDefender about the problem?
> I would regret it if cygwin can't be installed by Joe User on a system
> that has BitDefender 2010 installed as well.

  To a large extent, it's one of those 'can't-be-helped' things:

- To mimic posix fork semantics, Cygwin has to recreate the exact memory map
of the parent process in the child's memory space, including the addresses at
which shared libraries (dlls) are loaded.

- To intercept file access and check for viruses etc., BitDefender injects
dlls into every process to hook the potentially-dangerous system calls.

- Cygwin doesn't actually have full control over how things get loaded into
memory; that's determined by the OS loader which is invoked when Cygwin calls
CreateProcess.

- Sometimes the OS loader doesn't reload all the DLLs in the newly-created
child process at the same base addresses as they were at in the parent process
when there's a clash between two DLLs competing for the same base address.

  There are some tricks in the DLL to try and avoid and/or work around the
problem, but ultimately we're limited by the behaviour of the underlying OS
which isn't directly under our control and doesn't always do what is needed
for POSIX semantics because (after all) it was designed to implement win32
semantics.

  Of course, this means that it's all someone else's fault and Cygwin is
perfect :-) and I'm not saying that under any kind of duress or
gravitationally-inspired threat from any kind of even-toed aquatic ungulant
whatsoever ...

    cheers,
      DaveK


--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019