This is the mail archive of the
mailing list for the Cygwin project.
Re: Why only 1 cygwin1.dll?
Bob Rossi wrote:
On Sat, Mar 25, 2006 at 12:56:56PM -0500, Christopher Faylor wrote:
On Sat, Mar 25, 2006 at 12:40:51PM -0500, Bob Rossi wrote:
On Sat, Mar 25, 2006 at 12:38:53PM -0500, Lev Bishop wrote:
It is certainly not impossible.
In the FAQ, I think it would be a good idea to mention that this
FAQ candidate? Either of Eric's explanations seem spot on, to me. And
this question does come up fairly regularly.
limitation makes it impossible (outside of setup.exe) to package an
application based on Cygwin and guarantee that it runs on the host
machine. That is, it's impossible to determine if the cygwin1.dll is
already on the machine.
We support the cygwin release here. That does not preclude (except for
lack of interest apparently) someone providing providing a nifty tool
for determining if/when to install a 3PP cygwin DLL but we all know that
anyone who wants that automatically is only able to complain about the
lack of such a tool. It's been a given for years in this mailing list
and I doubt that it will change anytime soon. The best that people seem
to be able to do is complain about how much they want to do this here
and predict the death of cygwin if something isn't changed to
accommodate their desires.
I certainly didn't mean to complain. I really love Cygwin and wouldn't
ever predict it's death. I can't work without it on windows.
However, I still think that it's not possible, without a horrid solution.
The problem with the third party tool is that it would need to be run every
time before the third party application is run. If the user installed Cygwin,
remove the local cygwin1.dll. If the user removed Cygwin, replace the removed
cygwin1.dll. Very odd. Does this sound like a reasonable solution to
you (although I'll admit it's possible)?
What's wrong with third parties simply installing any cygwin1.dll that they
want to distribute (subject to the GPL of course) in a setup-compatible
location and way? Then the only question is whether to install over any
existing DLL or not. That's the same old issue that all installers have with
any shared DLL. Using the accepted practice of replacing any existing old DLL
with a newer one (by comparing version) should work fine.
Removal of shared DLLs across apps is a common problem for any Windows app
too. I don't believe the Cygwin distribution and any 3rd party
distributor throws a new wrinkle into this. I've seen many an uninstaller
ask me if I want to delete XXX.dll that could still be needed by other apps.
Same rules apply. The worst case is that one cygwin1.dll gets left on a
user's system after all apps using it have been uninstalled. That's par for
the course with Windows. And at least if the DLL is always in the setup-
compatible location, it would be easily found and used/overwritten by any
subsequent installation, 3rd party or otherwise.
Larry Hall http://www.rfk.com
RFK Partners, Inc. (508) 893-9779 - RFK Office
838 Washington Street (508) 893-9889 - FAX
Holliston, MA 01746
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html