Installing CYGWIN on Windows

Installing for 32-bit versions of Windows

In order to update or install a Cygwin package for 32-bit windows run setup-x86.exe from https://cygwin.com/install.html

Installing for 64-bit versions of Windows

In order to update or install a Cygwin package for 64-bit windows run setup-x86_64.exe from https://cygwin.com/install.html

Selecting Packages in Setup Program:

When installing packages for the first time, setup*.exe does not install every package. Only the minimal base packages from the Cygwin distribution are installed by default. Clicking on categories and packages in the setup*.exe package installation screen will provide you with the ability to control what is installed or updated. Clicking on the "Default" field next to the category will provide you with the opportunity to install Cygwin package.

Make sure you select the following packages in setup program:

  • Wget
  • Subversion (svn)
  • Gawk
  • Tar
  • bzip2
  • CYGWIN_img.png

Getting Packages on Cygwin using Command-Line:

apt-cyg is a command-line installer for Cygwin which cooperates with Cygwin Setup and uses the same repository. The syntax is similar to apt-get. Usage examples:

  • "apt-cyg install <package names>" to install packages
    "apt-cyg remove <package names>" to remove packages
    "apt-cyg update" to update setup.ini
    "apt-cyg show" to show installed packages
    "apt-cyg find <pattern(s)>" to find packages matching patterns
    "apt-cyg describe <pattern(s)>" to describe packages matching patterns
    "apt-cyg packageof <commands or files>" to locate parent packages

Installing apt-cyg on Cygwin:

To install apt-cyg install the packages Wget, Subversion (svn), Gawk, Tar and bzip2 first through the standard cygwin setup program as mentioned above. Then run the following commands:

  •   # svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/
      # chmod +x /bin/apt-cyg

Usage:

# apt-cyg install nano 

Building GDB using CYGWIN:

In order to build GDB install the following packages using command-line apt-cyg

  • make
  • gcc
  • gcc-g++
  • ncurses
  • ncurses-devel
  • bison
  • flex
  • dejagnu

After installing the packages issue “make” command in GDB folder.

Commands:

# apt-get install ncurses ncurses-devel bison flex dejagnu
# make

Running GDB:

Once GDB has been build without any error run it using the following command:

  • ./gdb/gdb

Running Testsuites

# make check

Tips:

If you get the following error while running testsuites

0 [main] svn 14820 child_info_fork::abort: 
  C:\cygwin\bin\cygcrypto-1.0.0.dll: Loaded to different address: 
  parent(0x440000) != child(0x590000)

Then the problem here is a fork failure. Subversion is attempting to fork a new process, and Windows is loading the new process with an unexpected memory layout. This is one of the fundamental problems Cygwin attempts to solve. Linux programs expect that when spawning a new process, the new process will have the same memory layout as the old one but Windows actively changes the memory layout whenever a new process is started. So you need to do the following:

  • Exit all your Cygwin processes. That means closing all your MinTTY windows, exiting any X servers you have running, etc.
  • Go to Start > Run (or hit Win+R), and run C:\cygwin\bin\dash.

  • In the window that appears, type /bin/rebaseall and hit Return.
  • Then wait

Once done again run the test-suites.

WorkingGroups/ToolChain/GDB/cygwingdb (last modified 2014-12-14 23:13:19)