KBEA-00073 - ElectricAccelerator and Cygwin compatibility

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 <instalation>\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.

Applies to

  • Product versions: ElectricAccelerator releases older than 8.2 (8.2 not included)
  • OS versions: Windows
 
Have more questions? Submit a request

Comments

Powered by Zendesk