Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com From: Chris Faylor Date: Tue, 7 Sep 1999 22:40:26 -0400 To: Andrew Dalgleish Cc: "'cygwin-developers AT sourceware DOT cygnus DOT com'" Subject: Re: A trick for installing cygwin natively Message-ID: <19990907224026.B3568@cygnus.com> Reply-To: cygwin-developers AT sourceware DOT cygnus DOT com Mail-Followup-To: Andrew Dalgleish , "'cygwin-developers AT sourceware DOT cygnus DOT com'" References: <00F8D6E8AB0DD3118F1A006008186C96035174 AT server1 DOT axonet DOT com DOT au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.6i In-Reply-To: <00F8D6E8AB0DD3118F1A006008186C96035174@server1.axonet.com.au>; from Andrew Dalgleish on Wed, Sep 08, 1999 at 10:50:48AM +1000 On Wed, Sep 08, 1999 at 10:50:48AM +1000, Andrew Dalgleish wrote: > > >> -----Original Message----- >> From: Chris Faylor [SMTP:cgf AT cygnus DOT com] >> Sent: Tuesday, September 07, 1999 12:59 >> To: cygwin-developers AT sourceware DOT cygnus DOT com >> Subject: A trick for installing cygwin natively >> >>I've been having a devil of a time lately (sorry, I've just watched two >>British movies in a row) trying to install a complete source tree into >>a new "root" cygwin directory. Every time, the top level make install >>hit the winsup directory, the installation would go crazy because it >>was installing a new cygwin1.dll and the /bin/sh that was being run was >>using the old one. >> >>I tried making sure that nothing in the new root directory was in the >>path but that didn't help because many things reference /bin/sh >>directory. I tried renaming the dll out of the way, which worked, but >>fork didn't like that at all. >> >>My solution is to do this: >> >>mount -b c:\oldcygwin\bin\sh.exe /bin/sh >> >>Then, any time that somebody (i.e., make) wants to run /bin/sh it uses >>the older version of both /bin/sh and the cygwin1.dll. >> >>It works great. >> >>I thought that I'd pass this tidbit along in case anyone else was >>having similar difficulties. > >I'm not sure I understand. Actually I am sure I don't understand. :-) > >Apparently you can mount files as well as directories. Neat trick, but >how does that help with the dll version skew problems? > >Why won't "mount -b c:\oldcygwin\bin /bin" do the same thing? > >(I think I just answered my own question. You are mounting the "old" >sh.exe over the top of your "new" /bin directory. Because of the path >search sequence Windows uses, loads the DLL from the same directory as >the .EXE, but that directory is not your new /bin. Am I close? If so, >it is a very neat trick.) Yes. That's pretty much it. As soon as you install a cygwin1.dll in your newly created /bin, Windows will try to use it iff you're also running /bin/sh from that directory. If you aren't running any programs from that directory then everything works fine. Of course, you should remember to umount /bin/sh when you're done. -chris