On 11/3/2009 9:54 AM, Corinna Vinschen wrote:
- Add a bigger patch which allows by default to run multiple Cygwin
installations in parallel without interferring and without interaction
between processes running within these installations. This is done by
computing a key value from the installation path of the Cygwin DLL
which is used when creating shared objects used for interprocess
communication and synchronization. This means, you can have multiple
concurrent Cygwin 1.7 installations in parallel running alongside
without knowing of each other. However, this also implies that you
should not try to have one process in installation A interacting with
any process running in installation B. The results might not be what
you expect. Keep different Cygwin installations separate. This
change comes along with a change to the cygcheck tool, see
http://cygwin.com/1.7/cygwin-ug-net/using-utils.html#cygcheck,
options --enable-unique-object-names, --disable-unique-object-names,
and --show-unique-object-names.
- For better debugging of multiple Cygwin installations, every Cygwin
DLL now generates a registry entry with its installation path and the
key value computed from this path.
This change is accompanied by another change in cygcheck, see
http://cygwin.com/1.7/cygwin-ug-net/using-utils.html#cygcheck,
and its new option --delete-orphaned-installation-keys.
I experimented a little with the new features and found a couple of
glitches. My normal cygwin installation is in D:\cygwin-1.7. I updated
it to 1.7.0-63 and then installed a second cygwin installation in
C:\cygwin-1.7 just to see if I really could run two cygwin-1.7's at
once. It seemed to work fine.
I then deleted the directory C:\cygwin-1.7 and ran 'cygcheck
--delete-orphaned-installation-keys', followed by 'cygcheck -svr' to
make sure my original cygwin (in D:\cygwin-1.7) was still OK. I'm
attaching some excerpts from the cygcheck output. The most surprising
thing (to me) is that cygcheck was still reporting the standard mounts
C:\cygwin-1.7 / system binary,auto
C:\cygwin-1.7\bin /usr/bin system binary,auto
C:\cygwin-1.7\lib /usr/lib system binary,auto
left over from the installation that was removed. This probably
explains some of the other errors, like cygcheck not being able to find
'id' and 'cygrunsrv'.
I reinstalled cygwin 1.7.0-63 in D:\cygwin-1.7, and everything was back
to normal. In retrospect, I probably should have tried rebooting first
to see if that fixed it. Or maybe there was some other cleanup I should
have done after deleting C:\cygwin-1.7.
Ken
Cygwin Configuration Diagnostics
Current System Time: Tue Nov 03 21:10:43 2009
Windows XP Professional Ver 5.1 Build 2600 Service Pack 3
Path: D:\cygwin-1.7\usr\local\texlive\2009\bin\i386-cygwin
D:\cygwin-1.7\usr\local\bin
D:\cygwin-1.7\bin
C:\Program Files\ThinkPad\Utilities
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\Program Files\Intel\Wireless\Bin\
C:\Program Files\IBM ThinkVantage\Client Security Solution
C:\Program Files\ThinkPad\ConnectUtilities
C:\Program Files\QuickTime\QTSystem\
C:\Program Files\Common Files\Lenovo
D:\cygwin-1.7\bin
D:\cygwin-1.7\lib\lapack
[At this point cygcheck gave an error message on the terminal
something like "Can't find the 'id' utility." I don't remember the
exact wording.]
SysDir: C:\WINDOWS\system32
WinDir: C:\WINDOWS
[...]
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Cygwin
HKEY_CURRENT_USER\Software\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Cygwin\setup
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start
Menu2\Programs\Cygwin
(default) = (unsupported type)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start
Menu2\Programs\Cygwin-X
(default) = (unsupported type)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start
Menu2\Programs\Cygwin-X\Information
(default) = (unsupported type)
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
(default) = '/cygdrive'
cygdrive flags = 0x00000022
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
(default) = 'D:\cygwin'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/c
(default) = 'c:'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/d
(default) = 'd:'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/Users
(default) = 'C:\Documents and Settings'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
(default) = 'D:\cygwin/bin'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
(default) = 'D:\cygwin/lib'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Installations
(default) = '\??\D:\cygwin-1.7'
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup
(default) = 'C:\cygwin-1.7'
obcaseinsensitive set to 1
Cygwin installations found in the registry:
System: Key: 34ecc2f3970cc4c9 Path: D:\cygwin-1.7
c: hd NTFS 24999Mb 73% CP CS UN PA FC IBM_PRELOAD
d: hd NTFS 27282Mb 76% CP CS UN PA FC
e: cd N/A N/A
C:\cygwin-1.7 / system binary,auto
C:\cygwin-1.7\bin /usr/bin system binary,auto
C:\cygwin-1.7\lib /usr/lib system binary,auto
cygdrive prefix /cygdrive user binary,auto
Found: D:\cygwin-1.7\bin\awk.exe
[...]
Cygwin DLL version info:
DLL version: 1.7.0
DLL epoch: 19
DLL old termios: 5
DLL malloc env: 28
Cygwin conv: 181
API major: 0
API minor: 217
Shared data: 5
DLL identifier: cygwin1
Mount registry: 3
Cygwin registry name: Cygwin
Program options name: Program Options
Installations name: Installations
Cygdrive default prefix:
Build date: Tue Nov 3 15:06:09 CET 2009
Shared id: cygwin1S5
[...]
Can't find the cygrunsrv utility, skipping services check.
Cygwin Package Information
No setup information found
Use -h to see help about each section
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple