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


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

Re: Multiple cygwin installs: I have to do it, but how?


I hope that Bob can read this message to the list, 
if not, Chuck I hope will forward it to him.

My company ships some cygwin stuff, and most recently 
we shipped a product containing some mixed executables and 
cygwin1.dll and cygwinb19.dll. It didn't have any problems 
because the names of the dlls were different. 

I am currently renaming the cygwin1.dll to cw132cp.dll 
and binary-editing (with emacs- don't try this 
at home kids) the executables that depend on cygwin1.dll 
to instead depend on cw132cp.dll. I guess I could recompile 
them, but that would be extra work :-) 

So far everything is working okay- the executables run 
just fine with the renamed dll. I think that it would be 
very cost-effective for companies to rename the cygwin1.dll 
to a version and company specific name, and then recompile 
the cygwin tools they plan to ship with their product to 
depend on the renamed dll. 

We went back and forth over ideas of how to get things working 
with cygwin for our customers, and using mount points was 
ruled out as too extreme (I did recompile make.exe to use 
sh.exe instead of /bin/sh.exe to avoid mounting stuff- 
this was so simple, it took me all of 5 minutes).
 
We were pretty sure none of our customers were using cygwin, 
but we wanted to minimize calls to tech support about 
"my cygwin is colliding with your cygwin." 

Even so, it seems like Altera wasn't very forward thinking 
when they chose their mount points- Isn't it just common 
sense that you wouldn't set / or /usr/bin or important things 
like that?

-Peter

Charles Wilson wrote:
> 
> The following message is forwarded from Bob Cunningham, who for various
> reasons can't use the company email server to send messages to the
> cygwin list.
> 
> Bob Cunningham wrote:
> ------------------------------------------
> I'm in a bad situation:  I've checked the FAQs, docs and archives, but
> have found no easy way out.
> 
> I've been using CygWin forever (well, whenever I can't use
> Linux/BSD/UNIX), and have my installation current and configured just
> the way I like it.
> 
> Then I installed the Altera Excalibur Nios (that's Altera's
> CPU+System-On-FPGA) development tools.  They were enlightened enough to
> include (and require) CygWin, but they insist on using a old version
> from mid-1999.  Though I installed the Altera stuff on a hard drive far
> away from my own precious installation, my prior CygWin install was
> crippled due to CygWin placing mount points in the registry.
> 
> I'm working with Altera to disentangle their tools from CygWin (it
> appears they may have modified some CygWin programs without renaming
> them), so they may then be installed under an existing CygWin
> installation, but it looks like they won't move on this until next year.
> 
> Then I got the NetBurner Internet Appliance development kit.  It too
> ships with CygWin.  Good thing I read the README first.  I'm not going
> to install it unless I can either:
> 
> 1. Find a way to either merge the three CygWin environments into my
> personal environment, or
> 
> 2. Find a way to have three separate CygWin environments run
> simultaneously.
> 
> I may also need to have multiple instances of the CygWin DLL in memory
> simultaneously, each with a different version.
> 
> I'm hacking together a set of Registry scripts that will set the mount
> points as desired from a batch file, but that only allows me to run one
> CygWin environment at a time, though each should (hopefully) run
> properly despite the existence of the others.  I'd rather not even try
> to replicate my own environment in each of these other CygWin
> installations, so a more general solution is needed.
> 
> Is there a Good Reason why mount points are kept in the Windows
> Registry? I see no way to do the second item above unless and until the
> mount information is stored in a separate place for each CygWin
> installation (preferably not in the Registry).
> 
> While I'm willing to recompile CygWin, I lack the time to hack it.  Is
> there a configure option that will eliminate CygWin's use of the
> Registry to store mount points?
> 
> Until the tools from all these vendors can be migrated to a single
> common CygWin environment, I'm stuck.
> 
> Is there a way to make each CygWin installation 100% independent, and
> have each be able to effortlessly coexist with any and all other CygWin
> installations that may be present?
> 
> As CygWin becomes ever more popular, and more vendors ship it with their
> products, we are certain to see this issue become increasingly common,
> at least within the engineering community.
> 
> Oddly enough, some of these tool kits are Windows-only!  There is no
> UNIX port.  The tool vendors simply believe that CygWin is the best
> platform in which to deliver and use them.  Very enlightened, but this
> opens up a very large weakness in relying on CygWin (especially when old
> versions are shipped).
> 
> Should there be guidelines of some sort to help these vendors better
> prepare and distribute their tools, so their products behave more like
> "just another" CygWin package?  If so, I have the email address for the
> person at Altera who creates their tools and packages...
> 
> TIA,
> 
> -BobC
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/

-- 
Your mouse has moved.
Windows NT must be restarted for the change to take effect.
Reboot now?  [OK]

--

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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