Mail Archives: cygwin-developers/1999/09/07/20:49:04
> -----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.)
- Raw text -