This is the mail archive of the
mailing list for the Cygwin project.
Re: Multiple Cygwins/ Distributing Cygwin apps
Brian Dessent wrote:
John Moore wrote:How about the Windows PATH environment variable? I think it messes with
that (if not, then the vendor software did it).
For me, the inability to install two cygwins that are independent has
already cost me a bunch of time. When I grumbled to a friend, his answer
was "buy another machine for that application."
I have not tried this per se, but I don't see what's stopping you from
having as many Cygwins installed as you want. Now, I'm not saying that
you could USE more than one at a time, due to the fact that only a
single Cygwin1.dll can be active at any given time -- and I wouldn't
expect this to change before the heat death of the universe. But the
only thing that Cygwin touches outside of its install path is the mount
table in the registry, and this is easily removed/replaced with mount
I installed Cygwin #1 on C: and Cygwin #2 on H:. I'll have to try the
mount trick as the easy way to switch them. However, I don't think it
will work when you first install Cygwin #2, as it will detect the keys
and complain that a Cygwin is already present!
So, if I were doing this, I would install Cygwin #1 to \cygwin, then
"mount -m > mounts.txt ; umount -A", then install Cygwin #2 to \cygwin-b
or whatever, and so on. To switch between them just unmount everything
and remount the other one.
It may also be necessary to change the Windows path (again, I don't know
if the Cygwin installer did this or the vendor did it).
In my case, to get my old environment to work, I did the following:
Cleaned out ALL cygwins from registry and disk.
Ran the tool manufacturer's install, telling it to put cygwin stuff on
H. Somehow it decided that my cygwin home directory should be
c:/documents and settings/username.
Renamed the Cygwin paths in the registry to something else (put an X on
Installed cygwin using the installer. It failed with a windows abort
message about find.exe!
tried a few utilities from cygwin. Got a complaint about having 2
Cleaned out the Windows PATH setting of those cygwin-on-H drive paths.
Tried the install again. Same failure.
Copied my archived copy of my C Cygwin back to C.
Everything worked except cvs, which failed in ssh client mode (against a
server at the office) with a garbled message. This cvs.exe had worked
before. This cygwin was from a cygwin grabbed by the nifty little
unresizeable (grrr) utility within the last few days.
Downloaded the latest cvs from cvshome.org and put it in /bin in place
of the current one.
Now, finally, I have something that seems to work.
I will check and see if the vendor included the source to the tool (I
doubt it, btw). But good grief, I shouldn't have to recompile the damn
thing just to use it.
I haven't yet tried to reactivate the tool cygwin (cygwin #1), which
should be interesting.
What I would love to see is a complete procedure for doing this sort of
thing posted in a cygwin FAQ.
I could have just gone with the vendor's cygwin, but the damned thing
was out of date, and its cvs didn't work (something odd there that would
involve more diagnosis than I have time for until a current crisis is
over). Furthermore, the idea of being hostage to some random tool
vendor's "OS" as my primary work environment is offensive to me. In this
case, the tool is an ARM cross assembler bundled with a JTAG interface
(software and hardware).
I love cygwin. I have used it ever since MKS Toolkit got expensive and I
discovered this alternative. I typically run 6 MKS bash shell windows at
once on three monitors while working. I was a pure Unix user (started
Unix on a PC-XT!) until the early '90s when the availability of a lot of
applications forced me to Windows. Cygwin lets me have my cake and eat
it too... almost.
Additionally, these vendors must have shipped you source to everything
compiled against Cygwin1.dll, or else they are in violation of the GPL.
So, you should be able to recompile everything against the latest DLL,
and just use a single installation. The exception is if they purchased
the Cygwin buy-out license from Redhat.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html