This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


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

Re: Multiple cygwin.dll's


On Thu, Oct 11, 2001 at 10:11:26AM -0400, Harold Hunt wrote:
>Rasjid,
>
>Yes, it will still cause a problem.
>
>The problem is not caused by the location from which the DLL was loaded.
>Different versions of cygwin1.dll conflict with each other because all
>loaded copies of cygwin1.dll must share a memory area to preserve state
>information in a manner similar to an operating system kernel.  Different
>versions of cygwin1.dll have different interpretations of the structure of
>the shared memory region, thus loaded different versions of cygwin1.dll
>results in the shared memory becoming corrupted, which generally crashes any
>loaded cygwin1.dll and any programs depending on cygwin1.dll.

This is all exactly right.

There are actually issues beyond the shared memory region which make
this a hard problem to fix.

Part of the problem is that I don't think it should be fixed.  There
should only ever be one cygwin1.dll on your system.  It should be the
latest released version.  It should be in the /bin directory.

That's the general rule.  Of course, there are no cygwin police who will
kick down your down and pull you off to cygwin jail if you don't follow
these instructions.  It's possible, if you really really know what you
are doing, to get two cygwin's to sort of play together.  Just don't
expect a lot of help and guidance from the people who are suggesting
that you should not do this.

IMO, if you don't know what you're doing then you probably don't
actually need to have two DLLs.  Either you should delete the oldest
DLL or the person who supplied you with the old DLL should fix your
problem.

That's my idealistic view of the world, anyway.

cgf


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