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 Message-ID: <00F8D6E8AB0DD3118F1A006008186C96035174@server1.axonet.com.au> From: Andrew Dalgleish To: "'cygwin-developers AT sourceware DOT cygnus DOT com'" Subject: RE: A trick for installing cygwin natively Date: Wed, 8 Sep 1999 10:50:48 +1000 X-Priority: 3 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.0.1458.49) Content-Type: text/plain > -----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. > > -chris [Andrew Dalgleish] 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.)