This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ANSI C header files

On 04/10/2011 9:05 AM, KÃre Edvardsen wrote:
On Tue, Oct 4, 2011 at 12:13 PM, Marco Atzeri  wrote:
in addition to the TOFU advise,

running configure of grib_api-1.9.9_libtool.tar.gz
on my XP-SP3 gave no problem.

"Configuration completed."

The ANSI C test is a basic one

configure:6808: checking for ANSI C header files
configure:6828: gcc -c -g -O2  conftest.c>&5
configure:6828: $? = 0
configure:6901: gcc -o conftest.exe -g -O2   conftest.c>&5
configure:6901: $? = 0
configure:6901: ./conftest.exe
configure:6901: $? = 0
configure:6912: result: yes

I reproduced the hang on my Cygwin CYGWIN_NT-6.0  1.7.9(0.237/5/3)
2011-03-29 10:10 i686 Cygwin
and gcc version 4.5.3

This appears to be the critical spot (line 6820-6828)

if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "memchr">/dev/null 2>&1; then

It tries to run the preprocessor and pipe its output into egrep.
Unfortunately, the EGREP variable appears to be empty, so the end
result is similar to:

gcc -E conftest.c | memchr

Trying the above from the bash prompt (in both mintty and classic
Cygwin prompt) results in an (unkillable from Cygwin) cc1.exe which is
perpetually waiting for output:

$ ps
      4484       1    4484       4752  con 539771   Oct  3 /usr/bin/XWin
      7848       1    7848       7848    ? 539771 14:03:11 /usr/bin/mintty
      6468    7848    6468       7460    1 539771 14:03:11 /usr/bin/bash
      6692       1    6692       6692    ? 539771 10:12:37 /usr/bin/mintty
      4600    6692    4600       7156    3 539771 10:12:37 /usr/bin/ssh
      6272    6468    6272       6356    1 539771 13:08:43 /usr/bin/gcc-4
O    7492    6272    6272       6856    1 539771 13:08:43
      7404    6468    7404        524    1 539771 13:08:46 /usr/bin/ps

So, the workaround is to replace $EGREP with egrep in configure; then configure runs successfully.

This seems to be some peculiarity of Cygwin's current GCC 4.5.3;
neither GCC 3.4.4 in Cygwin 1.7 nor GCC 4.3.4 in Cygwin 1.7 nor GCC
4.3.2 in Cygwin 1.5 exhibit this hang.

Csaba& Marco.

Marco: Your try on the XP-SP3 gave no problem. My try on Win 7 Pro
hangs, but as Csaba points out: This seems to be some peculiarity of
Cygwin's current GCC 4.5.3

Csaba: Replacing $EGREP with egrep in configure did make the difference!

Thanx to both of you for excellent help.
It wouldn't surprise me at all if the real problem were an earlier fork failure that caused $EGREP to come up blank. Why gcc would then hang on the resulting broken pipeline is a different question, tho...


-- Problem reports: FAQ: Documentation: Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]