I found a problem with linking many files in Cygwin64. It works fine in bash but from the Windows shell I get the below. To repeat, download the latest version of my editor from http://www.bengtl.net/files/mg3a/ Extract into a directory, go there and type "make". Since it's when linking many files this seems the easiest to repeat. There is no problem in Cygwin32, either from bash or the Windows shell. I have tried reinstalling the latest Cygwin, and rebooted. These are the errors when compiling with "make" from the Windows shell: gcc -pipe -O2 -DDIRED -DPREFIXREGION -c basic.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c dir.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c dired.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c file.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c line.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c match.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c paragraph.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c random.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c region.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c search.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c ucs.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c util.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c variables.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c version.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c width.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c window.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c word.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c langmode_c.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c ucsnames.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c buffer.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c display.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c echo.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c extend.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c help.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c kbd.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c keymap.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c macro.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c main.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c modes.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c cinfo.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c spawn.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c ttyio.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c tty.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c ttykbd.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -c fileio.c gcc -pipe -O2 -DDIRED -DPREFIXREGION -o mg basic.o dir.o dired.o file.o line.o match.o paragraph.o random.o region.o search.o ucs.o util.o variables.o version.o width.o window.o word.o langmode_c.o ucsnames.o buffer.o display.o echo.o extend.o help.o kbd.o keymap.o macro.o main.o modes.o cinfo.o spawn.o ttyio.o tty.o ttykbd.o fileio.o -lcurses /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find macro.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find main.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find modes.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find cinfo.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find spawn.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find ttyio.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find tty.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find ttykbd.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find fileio.o: Too many open files /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lcurses /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lcygwin /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -ladvapi32 /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lshell32 /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -luser32 /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lkernel32 /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/crtend.o: Too many open files collect2: error: ld returned 1 exit status Makefile:68: recipe for target 'mg' failed make: *** [mg] Error 1