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 Tue, Oct 4, 2011 at 12:13 PM, Marco Atzeri  wrote:
(snip)
> Kare,
> 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
  :
else
  ac_cv_header_stdc=no
fi

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
      PID    PPID    PGID     WINPID  TTY  UID    STIME COMMAND
     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
/usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1
     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
-- 
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
The Tao of math: The numbers you can count are not the real numbers.
Life is complex, with real and imaginary parts.
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds
"People disagree with me. I just ignore them." -- Linus Torvalds

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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