delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/02/18/08:39:57

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3E5237D5.5090105@roadrunner.uk.com>
Date: Tue, 18 Feb 2003 13:40:37 +0000
From: Ben Clewett <B DOT Clewett AT roadrunner DOT uk DOT com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3b) Gecko/20030210
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ronald Landheer-Cieslak <ronald AT landheer DOT com>
CC: cygwin AT cygwin DOT com
Subject: Re: Duplicate CygWin
References: <Pine DOT LNX DOT 4 DOT 44 DOT 0302181417460 DOT 17626-100000 AT localhost DOT localdomain>
In-Reply-To: <Pine.LNX.4.44.0302181417460.17626-100000@localhost.localdomain>

Okay...

I understand the problem with the shared memory.  Just the same as old 
network cards with conflicting memory address I guess ?

So, to have two running hetrogenious cygwin's, which may be different 
versions, I need:

-	Rename the memory address space.
-	Ensure safe location of cygwin1.dll so that no application uses wrong one.
-	Get the different root '/' mount points to be respected.

With the mount points, I was hoping a *hack* as simple as:

char *pRootMount; pRootMount = getenv("ROOT_MOUNT");
if (pRootMount) { ....; return; }

Can be inserted somewhere...

Or maybe even better, the variable FSTAB pointing to an /etc/fstab file 
on the Windows PC...  Endless options.

I'll look for the memory naming following your instructions.

In both cases, I would prefer any options which didn't mean forking the 
code.  So I would be interested in your opinions...

Ben


Ronald Landheer-Cieslak wrote:
> On Tue, 18 Feb 2003, Ben Clewett wrote:
> 
>>(Sorry about incorrect subject on first posting)
>>
>>Noting:-  It's not a cut down version of CygWin*.DLL I need, but a cut 
>>down version of the file system, to just a couple of dozen files in 
>>/bin, /tmp, /usr and /etc, forming a 'mini' UNIX for a specific application.
>>
>>Just been scanning the postings quickly.  My knowlage of the internals 
>>of CygWin are vauge, but are you saying it's impossible to have two 
>>sideways compatable versions of CygWin installed, as any detected 
>>version miss-match (likelly) will drop the code?
> 
> It is impossible to have two *different* Cygwin1 DLLs on the same system, 
> running at the same time. This is because Cygwin has a space in memory of 
> its own, which is shared among Cygwin processes. If you have two Cygwin 
> DLLs running at the same time, they will fight eachother for that space. 
> That is why you need to "rename"[1] that space if you want two *different* 
> Cygwin DLLs running on your system at the same time: one of the two must 
> be different from the standard Cygwin. This is what the people behind 
> Xygwin failed to do.
> 
> 
>>And there is no way of controling CygWin so that it uses only a specific 
>>.dll?  (ie, using the PATH variable or something...)
> 
> That is possible, and is even likely to work if you make sure that:
> 1. you don't try to use both DLLs at the same time
> 2. none of the utils you have for one DLL will find the other DLL
> 
> 
>>My other need, to have a separate /root directory for each runnin 
>>Cygwin, I can't see anything on that.
>>
>>If this is not possible, would it be too hard to put some hack into the 
>>.dll to, say, read an environment variable for it's root, before the 
>>usual registry search?
> 
> Are you talking about the '/' directory or the '/root' directory? The '/' 
> directory is found in the mount table, which (for the time being) is in 
> the registry, the '/root' directory doesn't exist under Cygwin, AFAICT.
> 
> The amount of hacking you will need for the two to co-exist is rather
> mininal: the thread ends with a patch by cgf (the pricipal Cygwin
> maintainer and project manager) which shows you how to do the
> registry-part. It does not show you what hacking is required to "rename"
> the memory region[1] for Cygwin. You'll have to figure that one out on
> your own.
> 
> rlc
> 
> [1]: slightly dumbed down to not get into technical details too much, hope 
> no-one minds :)
> 
> 
> 
> --
> 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/
> 



--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019