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
