Summary
The following article lists the supported Cygwin versions and configuration variables that need to be considered in an ElectricAccelerator environment.
Solution
Supported Cygwin Versions
ElectricAccelerator supports Cygwin versions 1.5.25, 1.7.7 and 1.7.9.
You can determine the Cygwin version by executing the command below for systems using the default installation location.
For Cygwin bash shell: /cygdrive/c/cygwin/bin/uname -a
For Windows cmd shell: c:\cygwin\bin\uname -a
In this example output, the version is 1.5.25:
CYGWIN_NT-5.1 xxx390 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin
Install the same version of Cygwin on all agent hosts and eMake machines. Mixing different Cygwin versions (for example, running v1.5 on an eMake machine and v1.7 on agents) is not supported. (In particular, Cygwin versions 1.5 and 1.7 default to incompatible representations for symbolic links.)
Cygwin Install Location
By default, Cygwin is installed in the c:\cygwin
directory. You can use a different installation location. The \bin directory need to be added to the end of your PATH
environment variable so agents can find the Cygwin binaries.
Cygwin and ElectricAccelerator EMAKE_ROOT
The Cygwin install directory should not be a subdirectory of EMAKE_ROOT
. This is similar to the issue of including c:\windows
or c:\winnt
in the EMAKE_ROOT
. If the Cygwin install directory is in a directory common to many other tools, it may be more convenient to locate it in a directory that will not be added to the EMAKE_ROOT
environment variable.
Cygwin Mount Mode (binmode/textmode) or (binary/text)
Cygwin can be set up to open files in textmode or binmode. The mode controls whether a new line uses CR/LF or not for compatibility with Unix systems.
If you use Cygwin with ElectricAccelerator, the emake node and the Agent nodes must be set up using the same mode for the cygwin, cygwin/bin, and cygwin/lib mount points. Any other mount points can be either textmode or binmode.
The mount mode is configured when Cygwin is installed. To determine which mode is configured on your system, run the mount command with no options. The output below is the result of running this command on a system that is using binmode (on v1.5) or binary (on v1.7):
On Cygwin 1.5
c:\cygwin\bin on /usr/bin type system (binmode) c:\cygwin\lib on /usr/lib type system (binmode) c:\cygwin on / type system (binmode) c: on /cygdrive/c type system (binmode,noumount)
On Cygwin 1.7
c:/cygwin/bin on /usr/bin type ntfs (binary,auto) c:/cygwin/lib on /usr/lib type ntfs (binary,auto) c:/cygwin on / type ntfs (binary,auto) c: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
Cygwin 1.7 system mounts
In Cygwin 1.7, system mounts are defined by "/etc/fstab" instead of by "mount" commands; the "mount" command only creates temporary user mounts.