delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/03/25/12:46:04

X-Spam-Check-By: sourceware.org
Message-ID: <5f27e4870603250945l3004e275o793cfc76e87d5a79@mail.gmail.com>
Date: Sat, 25 Mar 2006 17:45:45 +0000
From: "Jeremy Wilkins" <jeb AT jdwilkins DOT co DOT uk>
To: "Eric Blake" <ericblake AT comcast DOT net>
Subject: Re: Why only 1 cygwin1.dll?
Cc: cygwin AT cygwin DOT com
In-Reply-To: <032520061719.9189.44257B9C0003FD3F000023E522058891160A050E040D0C079D0A@comcast.net>
MIME-Version: 1.0
References: <032520061719 DOT 9189 DOT 44257B9C0003FD3F000023E522058891160A050E040D0C079D0A AT comcast DOT net>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id k2PHk0kt014188

Thanks for the answer, the question wasn't really leading anywhere
other than idle curiosity. The answer seems like a good candidate for
the FAQ.

jeb

On 3/25/06, Eric Blake <ericblake AT comcast DOT net> wrote:
> > Why can there be only 1 cygwin1.dll in the filesystem? Is this a
> > limitation of the dll or is it just a problem with applications
> > finding the wrong version of the cygwin1.dll when there are several?
>
> It is an intentional design decision of cygwin.  In order to properly
> emulate POSIX semantics in a relatively efficient manner, the .dll
> opens a shared memory region when it is loaded.  If there are
> multiple versions of different copies of the .dll trying to play with
> this shared memory region, you are practically guaranteed problems,
> so the .dll detects if the magic number of the shared region matches
> its expectations and forcefully exits before corrupting the other .dll's
> memory.
>
> > Or is it just that certain cygwin registry keys get initialised wrong
> > if its not installed correctly?
>
> The only use of the registry by cygwin is the mount table, and
> even that might change in the future.  Don't go blaming the
> registry for this issue.
>
> >
> > Does the cygwin1.dll have to be in /usr/bin or would it work in system32?
>
> Technically, as long as there is only one cygwin1.dll in the Windows
> PATH (including the implicit search of the current directory before
> %PATH%), it doesn't matter where it lives.  But you are playing with fire
> if you put it anywhere besides where setup.exe puts it, namely, /usr/bin.
> You are free to remount /usr/bin to live in some other location, if that
> helps, but this mailing list will NOT give any support for installations
> that put cygwin1.dll in non-standard locations other than to say
> delete your duplicate copies.  We even have an acronym for it:
> http://cygwin.com/acronyms/#3PP
>
> >
> > I'm sure this must've been asked before but I couldn't find it in my
> > search of the archives and users guide?
>
> This topic came up just last month, although you are right
> that without knowing good search terms it might not be
> the easiest to find (I did a google for
> "site:cygwin.com mismatched dll"):
> http://www.cygwin.com/ml/cygwin/2006-02/msg00085.html
>
> --
> Eric Blake
>

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


- Raw text -


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